summaryrefslogtreecommitdiff
path: root/firmware/export/pp5020.h
AgeCommit message (Collapse)Author
2010-04-13Move CACHEALIGN_BITS to cpu headersRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25633 a1c6a512-1295-4272-9138-f99709370657
2009-06-29Put TIMER_FREQ definition in CPU-specific config, and remove timer-target.hRafaël Carré
Note : SH has TIMER_FREQ defined to CPU_FREQ, so any code wanting it must include #config.h before #cpu.h git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21560 a1c6a512-1295-4272-9138-f99709370657
2009-02-23PP502x: Improve accuracy of header file. It looks as though DMA channels ↵Michael Sevakis
share the same interrupt enable (tested that 0 and 2 do at least). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20089 a1c6a512-1295-4272-9138-f99709370657
2009-02-19Use DMA for audio playback on PP502x (FS#9910 + some further mods). I can't ↵Michael Sevakis
say at this point about any change in battery life but it frees up a percent or two of CPU cycles as measured in the buffering screen. No change in recording transfers yet. Testing seemed to check out so put it out for general use and see what happens. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20052 a1c6a512-1295-4272-9138-f99709370657
2009-01-22Use bus reset detection for all ARC OTG devices. Remove conflict from ↵Michael Sevakis
LV24020LP driver with some GPIO-by-number macros for PP502x. Start monitoring for USB stack once all core threads and queues are created otherwise queues will likely be registered after USB acks. Putting PP502x system_reboot in IRAM (unmapped, uncached) memory seems to help it work more consistently. Hopefully I got all the PP USB connect handlers in the right spot in irq_handler. If device seems unresponsive to cable, check there first. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19819 a1c6a512-1295-4272-9138-f99709370657
2009-01-19USB detection changes. c200/e200: Consider USB to be powered when charger is ↵Michael Sevakis
plugged but detect USB connection by bus reset. When received, disconnect and restart the driver fully enabled. imx31: Fix hack used to make initial connect succeeded-- set PHY type before initial reset. General: Move some target code out of usb-drv-arc.c and implement it in respective usb sources and CPU headers so things stay clean. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19797 a1c6a512-1295-4272-9138-f99709370657
2008-12-12Bring consistency to pcm implementation and samplerate handling. Less ↵Michael Sevakis
low-level duplication. A small test_sampr fix so it works on coldfire again. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19400 a1c6a512-1295-4272-9138-f99709370657
2008-06-28Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg
later. We still need to hunt down snippets used that are not. 1324 modified files... http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-03Oops. Lost sync on a few instances and 'HI' registers.Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17684 a1c6a512-1295-4272-9138-f99709370657
2008-06-03Rename CPU/COP_INT_CLR to CPU/COP_INT_DIS since it's really a 'write one to ↵Michael Sevakis
disable' register and hasn't anything to do with acknowledging interrupts-- that's handled at the module level. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17683 a1c6a512-1295-4272-9138-f99709370657
2008-04-20move some data around to place qh_array at the start of iram. This saves up ↵Frank Gevaerts
to about 2k iram on PP git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17194 a1c6a512-1295-4272-9138-f99709370657
2008-04-12Refine information and macros for clock skipping. Not functional changes.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17091 a1c6a512-1295-4272-9138-f99709370657
2008-02-20Added PP5020 serial port registersLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16358 a1c6a512-1295-4272-9138-f99709370657
2008-02-10Commit FS#8379 by Andree Buschmann. Disables much of the remaining unneeded ↵Michael Giacomelli
hardware on PP50xx targets (Ipods, Sansa, H10s, etc) resulting in a large savings in power and consequent increase in battery life. Results vary from target to target and from codec to codec, but we now approach the OF runtime on several PP devices. For now, leave base CPU clock at 30MHz, although further savings is possible with some codecs if clock is reduced. Additionally, fix battery capacity on c200 and use my measurements to improve runtime estimation for Sandisk targets. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16259 a1c6a512-1295-4272-9138-f99709370657
2007-11-22New USB stackBjörn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15758 a1c6a512-1295-4272-9138-f99709370657
2007-11-08Mini 2nd Gen: Almost doubled LCD update speed when not boosted (68.5->129fps ↵Jens Arnold
@30MHz) by handling the serial LCD clock divider. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15524 a1c6a512-1295-4272-9138-f99709370657
2007-11-05Get rid of some more inl/outl. 0x70000084 seems to be GPO32_ENABLE.Barry Wardell
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15477 a1c6a512-1295-4272-9138-f99709370657
2007-11-04The GPIO interrupts are split into several port groups on all PP502x ↵Jens Arnold
versions, so move those definitions into pp5020.h, and add the missing group. Make microSD hotswap detection work on Sansa c200. Note that microSD access itself does not work yet. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15460 a1c6a512-1295-4272-9138-f99709370657
2007-11-03* Add newfound GPO32 register to pp502x.h. * Introduce macros for the ↵Jens Arnold
PP502x's atomic GPIO bit manipulation feature. * Remove clock setup related registers from debug screen, and add DEV_EN2, DEV_EN3 (to be verified) and GPO32 instead. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15443 a1c6a512-1295-4272-9138-f99709370657
2007-10-18PP502x: Get switch_thread back out of IRAM and devise a better core wakeup ↵Michael Sevakis
system that's not timing dependant. Hopefully something simpler will be found or devised eventually that meets all requirements. Rename mailbox-related registers. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15179 a1c6a512-1295-4272-9138-f99709370657
2007-10-16Improved H10 ADC driver. We now do things exactly as the OF does. This ↵Barry Wardell
includes shifting the readings by 0x14 when PLL is enabled. Battery voltages and remote/scrollpad values adjusted accordingly. We also now wait for the ADC to indicate the conversion is complete before reading the data, so hopefully we will get more reliably steady readings. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15141 a1c6a512-1295-4272-9138-f99709370657
2007-10-16Finally full multicore support for PortalPlayer 502x targets with an eye ↵Michael Sevakis
towards the possibility of other types. All SVN targets the low-lag code to speed up blocking operations. Most files are modified here simple due to a name change to actually support a real event object and a param change to create_thread. Add some use of new features but just sit on things for a bit and leave full integration for later. Work will continue on to address size on sensitive targets and simplify things if possible. Any PP target having problems with SWP can easily be changed to sw corelocks with one #define change in config.h though only PP5020 has shown an issue and seems to work without any difficulties. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15134 a1c6a512-1295-4272-9138-f99709370657
2007-10-12PP LCD drivers: * Optimised and cleaned up PP colour LCD drivers. ↵Jens Arnold
Immeasurable speedup on iPod Color, huge speedup on small H10 (a factor of 3). Should be a bit faster on big H10 too. * Big H10 changed bitmap format, so needs reconfiguring + full rebuild. * Better register naming for the mono LCD bridge. Register names for the colour LCD bridge. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15082 a1c6a512-1295-4272-9138-f99709370657
2007-10-07Finally get packed samples to work in a nice way on H10 in IIS mode. Add ↵Michael Sevakis
some more register defs. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15026 a1c6a512-1295-4272-9138-f99709370657
2007-10-07* Use proper definitions for the PP (mono) LCD bridge. * Clean up pp5002.h a ↵Jens Arnold
bit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15018 a1c6a512-1295-4272-9138-f99709370657
2007-10-07Use halfword IIS FIFO mode for H10. Won't save interrupts but seems it ↵Michael Sevakis
should be the DMA compatible mode. Setup pcm-pp.c to ease evaluating setting up PortalPlayer targets for DMA audio and for building an inventory of proper I2S settings and transfer sizes for all. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15009 a1c6a512-1295-4272-9138-f99709370657
2007-10-06Unify PCM interface just above the hardware driver level for all targets ↵Michael Sevakis
including the sims. Perform lockout of audio callback when changing states. Weird new playback or recording trouble? Check before and after this revision first though things seem quite sound. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15006 a1c6a512-1295-4272-9138-f99709370657
2007-10-05Stabilize PP5020 targets - tested on H10 5/20GB and iPod Color. Use no ↵Michael Sevakis
interrupts on COP but pulse it through the control interface. Don't mess with LCD clocking during clock changes. Give a reset register a name (DEV_OFF_MASK). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14998 a1c6a512-1295-4272-9138-f99709370657
2007-10-04PP502x: Make RAM physical addresses uncached. Cache the flash ROM on targets ↵Michael Sevakis
with one. Kill all the now unneeded cache flushing and i2s tweaking on e200 so clicking is no worry. Write the driver framebuffer at uncached addresses. Recording monitoring may be a little noisy in the left channel for the moment when not boosted and will be addressed. All seems to work as advertised including flash ROM dump. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14976 a1c6a512-1295-4272-9138-f99709370657
2007-09-30Add some defines for pp502x. No guarantee as to full accuracy yet but that's ↵Michael Sevakis
not really too important. Use them in the code. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14912 a1c6a512-1295-4272-9138-f99709370657
2007-09-28Commit a subset of the dual core changes that have to do with cache ↵Michael Sevakis
handling, stacks, firmware startup and thread startup. Tested on e200, H10-20GB, iPod Color and 5.5G. Thread function return implemented for all targets. Some changes to plugins to follow shortly. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14879 a1c6a512-1295-4272-9138-f99709370657
2007-08-01Add some new findings to the PP header files. * Clean up ata-target.h for ↵Jens Arnold
PP. * check_registers() seems to work fine on PP5002. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14114 a1c6a512-1295-4272-9138-f99709370657
2007-07-31PP502x: Add some important information about CPU/COP_CTL register to the ↵Michael Sevakis
header gleaned from a PP5022C. Maybe it's all wrong. :P git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14088 a1c6a512-1295-4272-9138-f99709370657
2007-07-26Clean up PP502x CPU clock setup code and use the full 80MHz when boosted.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14004 a1c6a512-1295-4272-9138-f99709370657
2007-07-03More PP502x clock setup rework. This should fix the freezes on PP5020 once ↵Jens Arnold
and for all. Enabled clock scaling for H10. * CPUFREQ_MAX changed to 78MHz * To be cleaned up soon. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13767 a1c6a512-1295-4272-9138-f99709370657
2007-04-23FS#7036: Power saving improvements for Sansa. Shutdown LCD controller when ↵Barry Wardell
backlight is off and shutdown ATA controller when the disk isn't being accessed. Frequency scaling is not enabled yet as it was apparently causing some problems. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13250 a1c6a512-1295-4272-9138-f99709370657
2007-04-22Fix some very probable typo's.Barry Wardell
CPU_INT_STAT is at 0x60004000, not 0x64004000. CPU_HI_INT_STAT is at 0x60004100, not 0x64004100. Fix wrong IRQ CLR addresses being used by system_init(). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13238 a1c6a512-1295-4272-9138-f99709370657
2007-03-04Dual core support for PP502x players (iPod G4 and later, iriver h10, Sansa - ↵Daniel Ankers
iPod G3 will be coming soon.) This allows threads to be run on either core provided that all communications between the cores is done using uncached memory. There should be no significant change in battery life from doing this. Documentation (on the RockboxKernel wiki page) will follow shortly. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12601 a1c6a512-1295-4272-9138-f99709370657
2007-03-03Some more replacing of inl/outl with register #define's (doesn't change ↵Barry Wardell
end-result binary). Add lots more #define's based on the ipodlinux wiki and some extrapolation. Also add PortalPlayer SoC version to the HW info debug screen. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12575 a1c6a512-1295-4272-9138-f99709370657
2007-03-03Replace some inl/outl with register #define's instead. Also tidy up pp5020.h ↵Barry Wardell
so that it's in increasing address order. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12574 a1c6a512-1295-4272-9138-f99709370657
2007-02-23Remap flash ROM to 0x20000000 on the ipods and H10s, and implement ↵Dave Chapman
dbg_save_roms() in the debug menu for those targets to dump the content to a file. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12467 a1c6a512-1295-4272-9138-f99709370657
2007-02-16No functional changes, just reorganising code:Barry Wardell
1) Move ARC OTG USB (used in PP502x) driver code into it's own file, drivers/arcotg_udc.c. Hopefully in the future we will be able to adapt more of the Linux driver and add it to this file. 2) Rename mx31.h to arcotg_udc.h to reflect the file the code came from. It's also a more accurate name for the USB controller. 3) Get rid of one more inl()/outl() in usb-pp.c and use the relevant #define instead. 4) Add dr_controller_stop(). Not used yet. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12340 a1c6a512-1295-4272-9138-f99709370657
2007-01-28FS#6554. Move bootloader code into a common file. Only PortalPlayer devices ↵Barry Wardell
(iPods, H10, Sansa) are affected for the moment. Someone with access to (and no fear of bricking) an X5, H100, H300 and Gigabeat should try to adapt those bootloaders to also use the code in common.c. The (non-working) patch in the tracker would be a good place to start with this. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12136 a1c6a512-1295-4272-9138-f99709370657
2007-01-27Clean up PP5020 I2C code (no functional changes):Barry Wardell
Move into target tree. Use #defines instead of inb/outb. Whitespace cleanup. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12123 a1c6a512-1295-4272-9138-f99709370657
2006-12-20Combine USB code for all PortalPlayer targets since they most likely all use ↵Barry Wardell
the same USB hardware. Add register defines for the USB hardware addresses, based off the Freescale i.MX31 datasheet. Use usb_init() from the iPod code, but modified to use the new register defines rather than oul/inl on the hardware addresses. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11823 a1c6a512-1295-4272-9138-f99709370657
2006-09-20Detect charger connected on H10. No need to sleep(HZ) when powering off.Barry Wardell
More sensible USB support for H10: plugging in puts it into USB charging mode and leaves Rockbox usable, holding 'O' while pluggin in the USB cable will reboot the H10 (continuing to hold 'O' starts it up in UMS mode), holding any other button brings up the USB screen as previously. Implement system_reboot() for all PP5020 devices. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11015 a1c6a512-1295-4272-9138-f99709370657
2006-08-03Initial work for coprocessor support on iPods. FS#5755Daniel Ankers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10437 a1c6a512-1295-4272-9138-f99709370657
2006-03-18Patch FS#4841 from Ralf Herz, debug more io ports on the PP5020 based ipodsBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9088 a1c6a512-1295-4272-9138-f99709370657
2006-03-17Some extra PP defines, and make some PP5002 defines consistens withThom Johansen
PP5020. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9066 a1c6a512-1295-4272-9138-f99709370657
2006-02-08Commit additional defines needed by last commit.Thom Johansen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8633 a1c6a512-1295-4272-9138-f99709370657