path: root/firmware/target/arm/ipod
AgeCommit message (Collapse)AuthorFilesLines
2022-10-13Revert "Remove YUV blitting functions and LCD modes"Solomon Peachy4-0/+627
This reverts commit fe6aa21e9eb88f49005863efd2003d0982920048. Change-Id: I8bb1e5d6c52ed1478002d2140ef494ec5d62b8e3
2022-10-03Remove YUV blitting functions and LCD modesAidan MacDonald4-627/+0
None of this is needed now that mpegplayer is gone. Change-Id: I360366db8513e4d988021e8d7b7d8eb09930efb8
2022-03-21Lcd save function pointer to frame buffer get_address_fn before loopsWilliam Wilgus1-4/+5
Calling multiple levels of indirection in a loop slows things down Really these need to be rewritten to take a start and end address like most of the rest of the codebase But this is safer without having test hardware in hand Change-Id: Idae7b92ee779d020ed7fcc9334e2d5a9c710e64d
2021-09-12iPod mini backlight initializationChristian Soffke2-1/+8
Fixes backlight not turning on after booting (tested on an iPod Mini 2G). backlight_hw_init() copied from iPod 4G. Change-Id: I9c32ca5ecd3dc74ea997e6cb843da79d303b0615
2020-11-29FS#5320: Keypad hold doesn't let go until scrolling is used (ipod 4g/5g)Solomon Peachy1-0/+8
Patch by Boris Gjenero Change-Id: I7df956fb63478bbbe891104faf5ab35096da7576
2020-08-06FS#9295: Detect external power supply for ipod 1st & 2nd gen (Mark Fawcus)Solomon Peachy1-1/+1
Change-Id: I7b64c37ead60152c8a12556cfa344e225abc1980
2020-07-28FS#8778: Fix iPod 1G scroll wheel not being enabled (Mark Fawcus and Rune Pade)Solomon Peachy3-5/+5
They confirmed it worked in the original ticket. Change-Id: I949f119554a1e8bbdd0e4160c104cbc4aa2bd17d
2017-02-04nano2g: fix dangerous mutex in hold switchCástor Muñoz1-2/+2
This is a quick patch to solve FS#13104, we can not disable the clickwheel LDO from within interrupt code, so for the moment we leave it enabled all the time, it is unknown how power comsumption is affected when the hold switch is locked. Change-Id: I8f675702e2b5becbcd9197c8b044e6b8daeea79f
2016-05-26iPod Classic: use PMU interrupts to detect hold switchCástor Muñoz1-20/+12
Finally the hold switch workaround is removed and it is detected in the same way as OF does. Change-Id: Iceac6ca48ffd131b8ee9f62ffdc2b3e30eb02042
2015-12-17iPod Classic: clickwheel fixesCástor Muñoz1-14/+19
Uses GPIO.E2 (Request To Send) to detect the holdswitch status, it is a temporal workaround that seems to work on all models. Holdswitch status must be detected to drive low GPIO.E2 (RTS) and GPIO.E4 (Data Out) when the holdswitch is locked, otherwise battery life decreases about 25%. Holdswitch unlock action is detected by reading the HELLO message that the external wheel controller sends when it is powered on, this allows to quickly capture clickwheel activity after unlock. GPIO.E2 is also used in case the HELLO message is missed because the holdswitch was unlocked before Rockbox/bootloader starts. These 2 lines (RTS and DOUT) can not be used to transmit messages to the external clickwheel controller, not a problem, actually no messages are sent while normal operation, only at initialization stage. Change-Id: I415fe54bfcbc2086d0f56d7affe6f789ce81a6db
2015-01-12Fix red/yellowMarcin Bukat2-16/+13
Change-Id: Ie01251af2cd843979b5fdefcfa541ba377d13bd7
2015-01-12Get rid of stupid _backlight_* function namesMarcin Bukat9-47/+47
_remote_backlight_* and _buttonlight_* are cleaned as well Change-Id: I73653752831bbe170c26ba95d3bc04c2e3a5cf30
2014-10-02iPod Classic: Fix bidirectional clickwheel communication.Steffen Butzer1-4/+1
This restores functionality that was broken in g#194 and committed as revision 7ec426e497daa1b4a6082bf4e4e3df687b11db44. Bidirectional communication is required to ask the clickwheel controller for the initial button state during boot. Otherwise our driver would only know about pressed buttons when the first change event is received, which is too late for e.g. prevention of USB connection during boot. This fix is also required to support the selection of OF, Rockbox, Disk Mode, etc. in the iPod Classic Rockbox bootloader. Change-Id: I127d54cf9e630d8075dd6d66f95dacb2816bfbc8 Reviewed-on: Reviewed-by: Michael Sparmann <> Tested: Michael Sparmann <> Reviewed-by: Marcin Bukat <>
2013-07-19Combine PortalPlayer .lds files into one for app and boot.Michael Sevakis2-278/+2
These nearly identical files are multiplying like rabbits as PP targets are added and make SoC-related changes a PITA. Just include the master .lds file from the target one as was done for bootloader USB. Change-Id: I65e9e653030f0688b1728e32ada16abf2932e029
2012-05-01Make INITDATA_ATTR work on everything that has INIT_ATTR enabled for code.Michael Sevakis1-1/+1
Change-Id: If9936bfbbd3bc3eb2a3e3e290701b8517eabfb13
2012-03-31Classic/6G: click wheel controller powersaveCástor Muñoz1-3/+13
Mask click wheel controller clock gate when the hold switch is in the locked position Change-Id: I9de33db189afdb76cc5057e4c0e7efc587cf762b
2012-03-28Classic/6G: hold switch detection using GPIOCástor Muñoz1-21/+14
Configures GPIO ports to detect holdswitch status instead of polling the PMU via I2C, this fixes some random crashes Change-Id: I407c9ca4c2c9203842f9e774b1c8d0455d59048c Reviewed-on: Reviewed-by: Michael Giacomelli <>
2012-02-28lcd drivers: Convert lcd_[remote_]framebuffer to a pointerJonathan Gordon3-4/+4
Change all lcd drivers to using a pointer to the static framebuffer instead of directly accessing the static array. This will let us later do fun things like dynamic framebuffer sizes (RaaA) or ability to use different buffers for different layers (dynamic skin backdrops!) Change-Id: I0a4d58a9d7b55e6c932131b929e5d4c9f9414b06
2012-01-08button-target.h : move prototypes to button.hRafaël Carré1-7/+0
no need to define BUTTON_REMOTE anymore git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-03Rework powermgmt to enable code re-use on appliation and sims.Thomas Martitz2-2/+2
* Introduce CONFIG_BATTERY_MEASURE define, to allow targets (application) to break powermgmt.c's assumption about the ability to read battery voltage. There's now additionally percentage (android) and remaining time measure (maemo). No measure at all also works (sdl app). If voltage can't be measured, then battery_level() is king and it'll be used for power_history and runtime estimation. * Implement target's API in the simulator, i.e. _battery_voltage(), so it doesn't need to implement it's own powermgmt.c and other stubs. Now the sim behaves much more like a native target, although it still changes the simulated battery voltage quickly, * Other changes include include renaming battery_adc_voltage() to _battery_voltage(), for consistency with the new target functions and making some of the apps code aware that voltage and runtime estimation is not always available. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-03Fix path to PP crt0Rafaël Carré2-2/+2
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-18Add KEEP() around vectors in linker scripts.Boris Gjenero1-1/+1
Vectors are needed by the CPU, but they don't need to be accessed by Rockbox. Without the KEEP(), they can be removed when liking with --gc-sections, creating a broken binary without any warnings. This tells the linker to not remove them. It should enable use of --gc-sections for all targets. When not using --gc-sections, this does not change the binary. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-11-22FS#12397 : On targets which load .data directly into its final location and ↵Boris Gjenero1-9/+1
lack code for moving it, remove linker script trick which ignores section alignment and word-aligns the section instead. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-11-16Fix the gpl notice in the previous commits new files, and fix the yelow ↵Jonathan Gordon2-4/+8
gevearts naughtily ignored git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-11-16Finally commit FS#5111 - piezo clicker for ipods!Jonathan Gordon2-0/+239
Origional implementation by Robert Keevil with contributions from Frederik Vestre, Stoyan Stratev, Craig Elliott, Michael Sparmann, Thomas Schott, Rosso Maltese, and syncs from a bunch of other people! git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-11-03Make local functions and variables static where possibleBertrik Sikken1-4/+4
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-07-24ipod nano 1g: enable readout of battery current through ADC channel 4066_ISTATBertrik Sikken2-2/+2
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-07-20ipod nano 1g: enable LCD invertBertrik Sikken1-2/+9
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-07-19Set the default battery capacity for ipod video properly depending on ↵Frank Gevaerts1-0/+33
detected RAM size. Also set up a callback for the battery capacity setting (for all players) so changes take effect without having to reboot. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-06-08Remove superfluous executable bits on a bunch of files.Torne Wuff1-0/+0
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-04-22ipod6g: make functions and variables static where possibleBertrik Sikken1-1/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-03-02Merge functionality of wakeups and semaphores-- fewer APIs and object types. ↵Michael Sevakis2-8/+8
semaphore_wait takes a timeout now so codecs and plugins have to be made incompatible. Don't make semaphores for targets not using them. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-02-10iPod Nano2g/Classic clickwheel: Configure GPIO pins as Hi-Z while hold ↵Michael Sparmann1-2/+2
switch is engaged git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-02-10Fix more red. Two had been hiding.Michael Sparmann1-2/+2
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-02-10Fix redMichael Sparmann1-2/+2
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-02-10iPod Nano 2G: Fix current leak through clickwheel GPIOs when clickwheel is ↵Michael Sparmann1-1/+5
powered down git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-02-10iPod Classic: Fix current leak through clickwheel GPIOs when clickwheel is ↵Michael Sparmann1-0/+3
powered down git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-02-09iPod Classic: This time really fix the hold switch. Read it out through the ↵Michael Sparmann1-2/+13
power manager, and cache the result for 100 milliseconds because the power manager doesn't like being spammed git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-02-07iPod Classic: Fix hold switch glitchesMichael Sparmann1-1/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-01-23Simplify x0/x1 calculation for iPod Color some more, and fix display on type ↵Jens Arnold1-5/+7
0 LCD (iPod Photo). git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-01-12Fix FS#11820. Implement LCD shutdown for iPod Photo/Color and iPod nano 1G. ↵Andree Buschmann2-20/+47
The code was taken from FS#10034 and slightly changed to avoid white flashing when shutting off the display. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-01-10Revert unneeded change from r29026.Andree Buschmann1-0/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-01-10iPod Video LCD: Avoid white flash when entering sleep mode or shutting off.Andree Buschmann2-1/+4
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-01-07Implement hold switch and headphone detection on iPod ClassicMichael Sparmann1-3/+2
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-01-03Remove unneeded check for swapping in iPod nano1G/color LCD driver. For ↵Andree Buschmann1-8/+2
nano1G and color yo/y1 this swap never happened, for color x0/x1 it was always swapped. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-01-02Submit FS#11843 v17. Integrate YUV-blitting of nano 2G to nano1G/color LCD ↵Andree Buschmann2-273/+334
driver. Additionally refactor RGB and YUV screen updates to use same code fragments and save some binsize. YUV speedup is +3-4%, RGB 1/4 screen +2%. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-12-30Submitted the wrong file with r28933.Andree Buschmann1-1/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-12-30Major speedup of iPod nano 2G. Part 7: Disable reading FIFO state in YUV ↵Andree Buschmann1-1/+1
blitting. Speedup is +19% for YUV. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-12-29Speed up of iPod nano 1G and iPod color LCD. Use HDD6330 asm part for YUV ↵Andree Buschmann2-102/+182
blitting, introduce special handling for full width screen updates. Speed up is about +30% for YUV on both color/nano1G. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-12-16Fix headphone detection on iPod Nano 2G being inverted (regression from r28800)Michael Sparmann1-1/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657