aboutsummaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAgeFilesLines
* sh: clkfwk: Support multi-level clock propagation.Stuart Menefy2007-09-281-0/+2
| | | | | | | | Currently clock propagation only works for one level, but we have some clocks which need to propagate multiple levels, so make this recursive. Signed-off-by: Stuart Menefy <stuart.menefy@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix URAM start address on SH7785.Paul Mundt2007-09-271-1/+1
| | | | | | | | Not all of the SH-X2 URAM blocks are mapped in the same place, SH7785 happens to map it on the opposite end of the address space from SH7722, correct the addresses. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Use boot_cpu_data for CPU probe.Paul Mundt2007-09-274-129/+126
| | | | | | | | | | This moves off of smp_processor_id() and only sets the probe information for the boot CPU directly. This will be copied out for the secondaries, so there's no reason to do this each time. This also allows for some header tidying. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Support extended mode TLB on SH-X3.Paul Mundt2007-09-271-1/+1
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Bump MAX_ACTIVE_REGIONS for SH7785.Paul Mundt2007-09-271-1/+2
| | | | | | | | When using URAM in NUMA mode another active region is needed. Bump this up so we don't trigger the region truncation in add_active_range(). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix plat_irq_setup_pins() for SH7785.Paul Mundt2007-09-271-4/+0
| | | | | | | There was some debug code left in here that caused the pin changes to never be hit. Kill that off, and all is well. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off duplicate NODES_SHIFT.Paul Mundt2007-09-271-5/+0
| | | | | | | We already set this in arch/sh/mm/Kconfig, don't set a conflicting one in arch/sh/Kconfig too.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Disable 4kB pages on extended mode TLB.Paul Mundt2007-09-271-3/+5
| | | | | | | | | | | | 4kB pages are unstable on extended mode TLB, it's recommended that TLB compat mode be used when using a 4kB PAGE_SIZE. Set the default for extended mode to 8kB. This should have negligible impact, as other than the extra swap cache entry bits, there's no reason to use the extended mode TLB with 4kB pages. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Disable L2 reporting for present URAM only parts.Paul Mundt2007-09-271-5/+2
| | | | | | | | | The probing logic works for both URAM and L2, with no way to distinguish between the two. Disable the probing for now and let the CPU subtypes that have this in a real L2 configuration explicitly say so. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Define _ebss for uClinux MTD map driver.Paul Mundt2007-09-242-1/+3
| | | | | | | The uClinux MTD device uses _ebss, add the symbol and corresponding export. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Revert incorrect license string changes.Paul Mundt2007-09-242-2/+2
| | | | | | | These were right the first time. Either a thinko or building in the wrong tree. Revert this. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Calculate cache aliases on L2 caches.Paul Mundt2007-09-241-0/+15
| | | | | | | | Calculate the number of cache aliases on probed L2 caches, and while we're at it, print out the detected statistics at boot time for these also. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: nommu: Kill off dummy page fault ops for SH-3/4.Paul Mundt2007-09-242-67/+0
| | | | | | | | We stopped referencing these functions unconditionally when the old entry.S code was refactored, so this is just dead code at present. Kill it off. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix alias calculation for non-aliasing cases.Paul Mundt2007-09-241-2/+2
| | | | | | | | | | | There was an off-by-1 on the cache alias detection logic on SH-4, which caused n_aliases to always be 1 even when the page size precluded the existence of aliases. With this corrected, 64KB pages happily reports n_aliases == 0, and hits the appropriate fast paths in the flushing routines. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Initial SH-X3 SMP support.Paul Mundt2007-09-214-208/+375
| | | | | | | | | | | This adds basic support for SH-X3 SMP (4 CPUs). More IPI and cache debugging is necessary, mostly interfacing the d-cache coherency and the I-cache broadcast invalidates. Only for testing at present! Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Plug plat_smp_setup() in to generic setup path.Paul Mundt2007-09-211-0/+5
| | | | | | | Now that the SMP stubs are in place, call in to the setup code to be defined by the platform. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Hook up the SH-X3 SMP intc register groups.Magnus Damm2007-09-211-1/+1
| | | | | Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Bring SMP support back from the dead.Paul Mundt2007-09-214-88/+118
| | | | | | | | | | | There was a very preliminary bunch of SMP code scattered around for the SH7604 microcontrollers from way back when, and it has mostly suffered bitrot since then. With the tree already having been slowly getting prepped for SMP, this plugs in most of the remaining platform-independent bits. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - initial SMP support.Magnus Damm2007-09-211-21/+57
| | | | | | | | | | | | This implements initial support for the SMP INTC (particularly INTC2) controllers. These are largely implemented as conventional blocks, with register sets grouped together at fixed strides relative to the CPU id. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add SMP tlbflush variants.Paul Mundt2007-09-211-0/+140
| | | | | | | | This adds the TLB flushing routines for SMP systems, based on the MIPS implementation, with some additional SH-specific flush routines. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Avoid smp_processor_id() in cache desc paths.Paul Mundt2007-09-211-31/+31
| | | | | | | | | current_cpu_data uses smp_processor_id() in order to find the corresponding cpu_data. As the cache descs are all currently identical, just have this look at probed results from the boot CPU. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off special boot_cpu_data.Paul Mundt2007-09-212-2/+7
| | | | | | | | This consolidates the cpu_data definitions and gets rid of the special boot_cpu_data. It's made a wrapper to the boot CPU, in order to keep the existing in-tree users happy. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Make cpufreq driver less noisy on SMP.Paul Mundt2007-09-211-2/+1
| | | | | | | The cpufreq driver banner is currently printed for each CPU, move it down so it's not as noisy and it's only printed once. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Enable maple by default for the Dreamcast.Paul Mundt2007-09-211-124/+31
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add maple bus support for the SEGA Dreamcast.Adrian McMenamin2007-09-211-0/+11
| | | | | | | | | | | | | | | | | | | | | The Maple bus is SEGA's proprietary serial bus for peripherals (keyboard, mouse, controller etc). The bus is capable of some (limited) hotplugging and operates at up to 2 M/bits. Drivers of one sort or another existed/exist for 2.4 and a rudimentary port, which didn't support the 2.6 device driver model was also in existence. This driver - for the bus logic itself and for the keyboard (other drivers will follow) are based on the code and concepts of those old drivers but have lots of completely rewritten parts. I have the maple bus code as a built in now as that seems the sane and rational way to handle something like that - you either want the bus or you don't. Signed-off-by: Adrian McMenamin <adrian@mcmen.demon.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Magic Panel MTD mapping update.Markus Brunner2007-09-212-6/+90
| | | | | | | | | | This update moves the flash mapping for the Magic Panel into the board setup. It also removes references to the old MTD mapping option in the defconfig. Signed-off by: Markus Brunner <super.firetwister@gmail.com> Signed-off by: Mark Jonas <toertel@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: rts7751r2d: Fix up trivial build failure.Paul Mundt2007-09-211-2/+2
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: rts7751r2d cf_ide reworkAoi Shinkai2007-09-211-12/+33
| | | | | | | Support CF IDE on R2D-1 boards. Signed-off-by: Aoi Shinkai <shinkoi2005@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up extended mode TLB for SH-X2+ cores.Paul Mundt2007-09-211-17/+13
| | | | | | | | | | | | | | | | The extended mode TLB requires both 64-bit PTEs and a 64-bit pgprot, correspondingly, the PGD also has to be 64-bits, so fix that up. The kernel and user permission bits really are decoupled in early cuts of the silicon, which means that we also have to set corresponding kernel permissions on user pages or we end up with user pages that the kernel simply can't touch (!). Finally, with those things corrected, really enable MMUCR.ME and correct the PTEA value (this simply needs to be the upper 32-bits of the PTE, with the size and protection bit encoding). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Wire up URAM node on SH7785.Paul Mundt2007-09-212-0/+10
| | | | | | Add SH7785 URAM as node 1, follows the SH-X3 change. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: se7206: update defconfig.Paul Mundt2007-09-211-131/+92
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: se7206: Handle non-SuperIO I/O ports.Paul Mundt2007-09-211-0/+2
| | | | | | | | | This fixes up the port calculation logic for non-SuperIO accesses, before these were always matching the MRSHPC base, now just make sure the original port is handed back if it's not in the I/O port range. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: r7780rp: irq-r7780rp needs linux/io.h.Paul Mundt2007-09-211-0/+1
| | | | | | Trivial build fix. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: hp6xx: Trivial build fixes for INTC changes.Paul Mundt2007-09-211-1/+1
| | | | | | Get the IRL->IRQ stuff building. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: se7206: heartbeat needs 32-bit writes.Paul Mundt2007-09-211-0/+1
| | | | | | | | Most boards use 8 or 16-bit access for the LED bank, se7206 needs 32. There's only 8 individual LEDs however, each with a 'special' value in terms of logical ordering. Go FPGA, go! Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: se7206: Make the I/O port routines less stupid.Paul Mundt2007-09-212-33/+4
| | | | | | | The port routines were logically inverted, and the MRSHPC range had no upper bound, causing 8 and 16-bit port I/O to get mangled. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Magic Panel R2 board support.Markus Brunner2007-09-216-0/+1261
| | | | | | | | | This adds support for the SH7720 (SH3-DSP) based Magic Panel R2 board. Signed-off-by: Markus Brunner <super.firetwister@gmail.com> Signed-off by: Mark Jonas <toertel@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: hp6xx: Enable pata_platform in defconfig.Kristoffer Ericson2007-09-211-18/+4
| | | | | Signed-off-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: hp6xx: Enable touchscreen and powerbutton IRQs.Kristoffer Ericson2007-09-211-9/+24
| | | | | | | IRQ0->IRQ3 need to be an IRQ mode for these to work, fix them up. Signed-off-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Don't enable FPU for SH4AL-DSP.Paul Mundt2007-09-212-1/+5
| | | | | | | This leads to invalid configurations where both FPU and DSP support can be enabled in the same kernel, resulting in build failure. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: INTC stubs for SH7343 and SH7770 builds.Paul Mundt2007-09-212-0/+8
| | | | | | | Get the SH7343 and SH7770 stuff linking again. Both of these still require proper INTC support. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: hp6xx: Update CF IRQ for INTC changes.Kristoffer Ericson2007-09-211-1/+1
| | | | | | | The vector changed, so follow the INTC changes for the new vector. Signed-off-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: dma: Fix up build for SH7709 support.Kristoffer Ericson2007-09-211-0/+1
| | | | | | | Trivial build fixes for SH7709. Signed-off-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: hd64461: Trivial build fixes for SH7709.Kristoffer Ericson2007-09-211-1/+5
| | | | | | | Some trivial fixes to get SH7709 + HD64461 building again. Signed-off-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: hp6xx: APM build fix and new battery values.Kristoffer Ericson2007-09-211-5/+4
| | | | | | | | Build fixes for the hp6xx APM code, as well as some adjustments for the battery values. Signed-off-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: update hp6xx defconfig.Kristoffer Ericson2007-09-211-293/+268
| | | | | | | hp6xx_defconfig resync. Signed-off-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: nommu fault handler needs signal.h.Paul Mundt2007-09-211-0/+1
| | | | | | Trivial build fix. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up se7751 build.Paul Mundt2007-09-211-1/+0
| | | | | | Trivial compile fix. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: remove sh7780 interrupt controller hack from pci codeMagnus Damm2007-09-211-13/+0
| | | | | | | | | | This patch removes the sh778x specific pci code that pokes in the interrupt controller and overwrites things. The new and improved IRL code manages this in plat_irq_setup() and plat_irq_setup_pins() instead. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - rework higlander irq code for r7780mp and r7785rpMagnus Damm2007-09-215-19/+152
| | | | | | | | | | | | | This patch reworks the highlander irq code for r7780mp and r7785rp. The same strategy as for the new R2D code is used here - the board specific interrupts are now starting from HL_FPGA_IRQ_BASE. The code for r7780rp is not touched due to lack of hardware. Tested with CF, AX88796 on r7780mp and r7785rp. The touch switch interrupt has also been tested on r7780mp. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>