aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-11-04sh: mach-se: Convert SE7722 FPGA to dynamic IRQ allocation.Paul Mundt
This gets rid of the arbitrary set of vectors used by the SE7722 FPGA interrupt controller and witches over to a completely dynamic set. No assumptions regarding a contiguous range are made, and the platform resources themselves need to be filled in lazily. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-11-02sh: intc: Handle legacy IRQ reservation in vector map.Paul Mundt
Different CPUs will have different starting vectors, with varying amounts of reserved or unusable vector space prior to the first slot. This introduces a legacy vector reservation system that inserts itself in between the CPU vector map registration and the platform specific IRQ setup. This works fine in practice as the only new vectors that boards need to establish on their own should be dynamically allocated rather than arbitrarily assigned. As a plus, this also makes all of the converted platforms sparseirq ready. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-11-02sh: Remove unused WP signal for SDHI0 and KFR2R09Magnus Damm
Get rid of the unused WP signal for SDHI0 on KFR2R09. This because yc304 on KFR2R09 is a Micro SD slot which does not implement the WP signal. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-11-02sh: Add SDHI1 support to the AP325RXA boardMagnus Damm
Update the SDHI platform data for the AP325RXA board to include support for the CN7 Micro SD Card slot. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-11-02sh: intc: dynamic IRQ support.Paul Mundt
This adds support for dynamic IRQ allocation/deallocation for all parts using the SH-style vectored IRQs. While this is not inherently INTC-specific, the INTC code is the main tie-in for vectored IRQ registration, and is the only place that a full view of the utilized vector map is possible. The implementation is fairly straightforward, implementing a flat IRQ map where each registered vector is reserved, allowing us to scan for holes and dynamically wire up IRQs lazily later on in the boot stage. This piggybacks on top of sparseirq in order to make the best use of the available vector space. Dynamic IRQs can be used for any number of things, ranging from MSI in the SH-X3 PCIe case down to demux vectors for board FPGAs and system controllers that presently allocate an arbitrary range. In the latter case, this also allows those platforms to use sparseirq without blowing up, which brings us one step closer to enabling sparseirq as the default for all platform and CPU combinations. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-30sh: Add KFR2R09 specific memory pre/post R-standby codeMagnus Damm
Add R-standby support to the KFR2R09 sdram code. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-30sh: Add R-standby sleep mode supportMagnus Damm
Add R-standby specific bits to the SuperH Mobile sleep code. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-30sh: Use RSMEM for sleep code on sh7724Magnus Damm
Use RSMEM instead of ILMEM for sleep mode code storage on SH7724. This allows us to use R-standby mode on SH7724. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-30sh: Add MMU and Cache handling sleep mode codeMagnus Damm
Add MMU and cache handling functionality to the SuperH Mobile sleep code. The MMU and cache registers are saved and restored. The MMU is disabled and the cache is flushed and disabled before entering sleep modes if the SUSP_SH_MMU flag is set. This flag should be set in the case of R-standby and most likely for future U-standby support as well. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-30sh: Keep track of allowed sleep modesMagnus Damm
Add code to keep track of supported sleep modes. This to only export cpuidle modes that are backed by board support code. Also, do not allow suspend-to-ram if sdram board code is missing. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-30sh: Rework SuperH Mobile sleep mode codeMagnus Damm
Rework the SuperH Mobile sleep code from including board specific code to allowing each board to provide pre/post code snippets. These snippets should contain sdram management code to enter and leave self-refresh. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-30sh: Add Ecovec24 specific memory pre/post sleep codeMagnus Damm
Add self-refresh handling code for the Ecovec24 board. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-30sh: Add ap325rxa specific memory pre/post sleep codeMagnus Damm
Add self-refresh handling code for the AP325RXA board. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-30sh: Move ap325rxa board code into separate directoryMagnus Damm
Move the AP325RXA board code from a single board file to a separate directory. This to make it easy to add support for sdram sleep mode code. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-30sh: Add migor specific memory pre/post sleep codeMagnus Damm
Add self-refresh handling code for the Migo-R board. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-30sh: Add ms7724se specific memory pre/post sleep codeMagnus Damm
Add self-refresh handling code for the MS7724SE board. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-30sh: Add kfr2r09 specific memory pre/post sleep codeMagnus Damm
Add self-refresh handling code for the KFR2R09 board. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-30sh: Allow boards to register memory pre/post sleep codeMagnus Damm
Add code to allow boards registering self-contained functions for going to/from self-refresh. At this point the board code is unused. When all supported boards have been converted then the new sleep code will make use of these functions. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-30sh: Add sh7724 notifier for R-standby save/restoreMagnus Damm
Make use of the recently added notifier chains for sh7724 r-standby register save/restore handling. At this point only the BSC and INTC are handled. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-30sh: Add notifiers chains for cpu/board codeMagnus Damm
This patch adds atomic notifier chains for pre/post sleep events. Useful for cpu code and boards that need to save and restore register state before and after entering a sleep mode. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-30sh: Do not apply virt_to_phys() to a physical addressMatt Fleming
The variable 'phys' already contains the physical address to flush. It is not a virtual address and should not be passed to virt_to_phys(). Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-28sh: perf events: Kill off left over debugging cruft.Paul Mundt
num_events should be compared > MAX_HWEVENTS and not >=. The latter was used as a debugging test which accidentally slipped in. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-28sh: perf events: Add preliminary support for SH-4A counters.Paul Mundt
This adds in preliminary support for the SH-4A performance counters. Presently only the first 2 counters are supported, as these are the ones of the most interest to the perf tool and end users. Counter chaining is not presently handled, so these are simply implemented as 32-bit counters. This also establishes a perf event support framework for other hardware counters, which the existing SH-4 oprofile code will migrate over to as the SH-4A support evolves. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-28sh: mach-ecovec24: Add USB1 gadget supportKuninori Morimoto
USB1 can change to host/function by checking PTB3. This patch add USB1 gadget support and check PTB3 when boot, and change name to usb1_common_XXX from usb1_host_XXX. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-28sh: add SDHI1 support to ms7724seMagnus Damm
Add support for cn8 and SDHI1 to the ms7724se board. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-28sh: mac address through private data for sh_eth on ms7724seMagnus Damm
Convert the ms7724se board code to pass the mac address to the sh_eth driver using platform data. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-27Merge branch 'sh/stable-updates'Paul Mundt
2009-10-27sh: enable PERF_USE_VMALLOC across the board.Paul Mundt
The vast majority of SH platforms want this, and the few that don't aren't going to care one way or the other. Enable it across the board. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-27sh: Bump up dma_ops initialization far earlier in the boot process.Paul Mundt
Presently this was tacked on to the dma debug init bits from fs_initcall(), which is far too late for devices setting up their own per-device coherent areas. Throw this in the beginning of mem_init(), as per the x86 iommu allocation. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-27sh: Clean up more superfluous symbol exports.Paul Mundt
Many of these symbols went away completely, or we just never cared about them in the first place. Trim the exports down to the essential set. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-27sh: intc: Make ack_regs generally available.Paul Mundt
Currently this is ifdef'ed under SH-3 and SH-4A, but there are other CPUs that will need this as well. Given the size of the existing data structures, this doesn't cause any additional cacheline utilization for the existing users, so has no direct impact on the data structures. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-27sh64: cache flush symbol exports.Paul Mundt
These were previously hidden in sh_ksyms_32, despite also being needed for sh64 now that the cache.c code is shared. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-27sh: Fix up dma_is_consistent().Paul Mundt
This fixes up the dma_is_consistent() definition for the various coherence options. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-27sh: Kill off superfluous arch/sh/drivers/pci/Kconfig.Paul Mundt
Now that this contains a grand total of 1 Kconfig option, it's hardly worth keeping split out. Roll CONFIG_PCI back in to the top-level architecture Kconfig, along with the other bus types. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-27sh: Revamp PCI DMA coherence Kconfig bits.Paul Mundt
Leaving this configurable caused more trouble than it was ever worth, so just make it explicit. Boards that are verified one way or the other can fix up their selects accordingly. We presently default to non-coherent for most platforms. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-27sh: Annotate irq functions with "notrace"Matt Fleming
Now that SH's irqflags functions are out of line it becomes necessary to mark them as "notrace" so that we don't try to trace them. [ Do the same for irq_64.c -- PFM. ] Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-27sh: fix watchdog timer for sh7780/sh7785Valentin R Sitsikov
Signed-off-by: Valentin Sitdikov <valentin.sitdikov@siemens.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-27sh: Fix hugetlbfs dependencies for SH-3 && MMU configurations.Paul Mundt
The hugetlb dependencies presently depend on SUPERH && MMU while the hugetlb page size definitions depend on CPU_SH4 or CPU_SH5. This unfortunately allows SH-3 + MMU configurations to enable hugetlbfs without a corresponding HPAGE_SHIFT definition, resulting in the build blowing up. As SH-3 doesn't support variable page sizes, we tighten up the dependenies a bit to prevent hugetlbfs from being enabled. These days we also have a shiny new SYS_SUPPORTS_HUGETLBFS, so switch to using that rather than adding to the list of corner cases in fs/Kconfig. Reported-by: Kristoffer Ericson <kristoffer.ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-27sh: Document uImage.bin target in archhelp.Paul Mundt
This was missing from the previous patch. Reported-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-26sh: mac address through private data for sh_eth on ecovec24Magnus Damm
Convert the ecovec24 board code to pass the mac address to the sh_eth driver using platform data. Also, remove the static clock to allow Runtime PM. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-26sh: add hwblk_id to sh_eth on ecovec24Magnus Damm
Add HWBLK_ETHER to the sh_eth platform device to allow Runtime PM of the ethernet hardware. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-26Merge branch 'sh/stable-updates'Paul Mundt
2009-10-26sh: add uImage.bin targetMagnus Damm
Add an uImage.bin target to allow uncompressed uImages. Useful for boards with busted u-boot decompression like the rsk7203 on my desk. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-26sh: rsk7203 CONFIG_MTD=n fixMagnus Damm
Fix the rsk7203 board code to build with CONFIG_MTD=n. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-26sh: fix kexec by removing check for old kexec-toolsMagnus Damm
This unbreaks kexec support. Without this fix all cases of kexec fails since __pa() does not behave like PHYSADDR(). The downside is that we also kill the code blocking users running old kexec-tools. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-26Merge branch 'sh/stable-updates'Paul Mundt
Conflicts: arch/sh/kernel/dwarf.c
2009-10-26Merge branch 'sh/sdhi-mfd'Paul Mundt
Conflicts: arch/sh/boards/mach-ecovec24/setup.c arch/sh/boards/mach-kfr2r09/setup.c
2009-10-26sh: mach-ecevec24: Add SDHI supportKuninori Morimoto
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-26sh: SDHI platform data to the kfr2r09 boardMagnus Damm
Add SD Card support to the kfr2r09 board using the sh_mobile_sdhi driver hooked up to SDHI0 and yc304. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-26sh: SDHI platform data to the SE7724 boardMagnus Damm
Add SD Card support to the se7724 board using the sh_mobile_sdhi driver hooked up to SDHI0 and CN7. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>