History log of /arch/sh/kernel/cpu/sh4/setup-sh7750.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
08ef2e427b59393d68a65b16e97e894b662a5573 19-Jun-2011 Paul Mundt <lethal@linux-sh.org> sh: Fix up build fallout from serial merge.

This fixes up build issues for SH7720/SH7722/SH7750 that crept in with
the serial rework.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
61a6976bf19a6cf5dfcf37c3536665b316f22d49 13-Jun-2011 Paul Mundt <lethal@linux-sh.org> serial: sh-sci: Abstract register maps.

This takes a bit of a sledgehammer to the horribly CPU subtype
ifdef-ridden header and abstracts all of the different register layouts
in to distinct types which in turn can be overriden on a per-port basis,
or permitted to default to the map matching the port type at probe time.

In the process this ultimately fixes up inumerable bugs with mismatches
on various CPU types (particularly the legacy ones that were obviously
broken years ago and no one noticed) and provides a more tightly coupled
and consolidated platform for extending and implementing generic
features.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
514820eb982eb85677ed2ecef9710e90e24fbdab 08-Jun-2011 Paul Mundt <lethal@linux-sh.org> serial: sh-sci: Consolidate RXD pin handling.

Non-SCI parts do not have the special port reg necessary for cases where
the RX and SCI pins are muxed and need to be manually polled, so these
like always fall back on the normal FIFO processing paths. SH7760 is in a
class in and of itself with regards to mapping its SIM card interface via
the SCI port class despite not having any of the RXD lines wired up and
so implicitly behaving more like a SCIF in this regard. Out of the other
CPUs, some support the port check via the same block while others do it
through an external SuperI/O, so it's not even possible to perform the
check relative to the ioremapped cookie offset, so the separate read
semantics are preserved here, too.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
0ce08870b8a4895044b6cf2bbdc774a6faaa3656 28-Jan-2011 Nobuhiro Iwamatsu <iwamatsu@nigauri.org> sh: sh7750: Fix incompatible pointer type

It is necessary to set array of struct platform_device in
early_platform_add_devices().

arch/sh/kernel/cpu/sh4/setup-sh7750.c: In function ‘plat_early_device_setup’:
arch/sh/kernel/cpu/sh4/setup-sh7750.c:260: warning: passing argument 1 of ‘early_platform_add_devices’ from incompatible pointer type
include/linux/platform_device.h:159: note: expected ‘struct platform_device **’ but argument is of type ‘struct platform_device *’
arch/sh/kernel/cpu/sh4/setup-sh7750.c:262: warning: passing argument 1 of ‘early_platform_add_devices’ from incompatible pointer type
include/linux/platform_device.h:159: note: expected ‘struct platform_device **’ but argument is of type ‘struct platform_device *’
arch/sh/kernel/cpu/sh4/setup-sh7750.c:263: warning: passing argument 1 of ‘early_platform_add_devices’ from incompatible pointer type
include/linux/platform_device.h:159: note: expected ‘struct platform_device **’ but argument is of type ‘struct platform_device *’

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
5939d25ff296bd69fd98ead938cb63e467939040 28-Jan-2011 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> sh: sh7750: move machtypes.h to include/generated

By commit 3252b11fc4790d046b93f300c898df2f7cd7c176,
machtypes.h moved to include/generated.
However, this forgot kernel/cpu/sh4/setup-sh7750.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
75a9fa0a769a373bda0b0f49101f066618b7effb 24-Jan-2011 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> sh: Fix build of sh7750 base boards

Renamed platform_register_device to platform_device_register.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
f43dc23d5ea91fca257be02138a255f02d98e806 13-Jan-2011 Paul Mundt <lethal@linux-sh.org> Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 into common/serial-rework

Conflicts:
arch/sh/kernel/cpu/sh2/setup-sh7619.c
arch/sh/kernel/cpu/sh2a/setup-mxg.c
arch/sh/kernel/cpu/sh2a/setup-sh7201.c
arch/sh/kernel/cpu/sh2a/setup-sh7203.c
arch/sh/kernel/cpu/sh2a/setup-sh7206.c
arch/sh/kernel/cpu/sh3/setup-sh7705.c
arch/sh/kernel/cpu/sh3/setup-sh770x.c
arch/sh/kernel/cpu/sh3/setup-sh7710.c
arch/sh/kernel/cpu/sh3/setup-sh7720.c
arch/sh/kernel/cpu/sh4/setup-sh4-202.c
arch/sh/kernel/cpu/sh4/setup-sh7750.c
arch/sh/kernel/cpu/sh4/setup-sh7760.c
arch/sh/kernel/cpu/sh4a/setup-sh7343.c
arch/sh/kernel/cpu/sh4a/setup-sh7366.c
arch/sh/kernel/cpu/sh4a/setup-sh7722.c
arch/sh/kernel/cpu/sh4a/setup-sh7723.c
arch/sh/kernel/cpu/sh4a/setup-sh7724.c
arch/sh/kernel/cpu/sh4a/setup-sh7763.c
arch/sh/kernel/cpu/sh4a/setup-sh7770.c
arch/sh/kernel/cpu/sh4a/setup-sh7780.c
arch/sh/kernel/cpu/sh4a/setup-sh7785.c
arch/sh/kernel/cpu/sh4a/setup-sh7786.c
arch/sh/kernel/cpu/sh4a/setup-shx3.c
arch/sh/kernel/cpu/sh5/setup-sh5.c
drivers/serial/sh-sci.c
drivers/serial/sh-sci.h
include/linux/serial_sci.h
4dc50a068ad8fbbd2dd6dd5ac8ac2652589ba046 29-Mar-2010 Paul Mundt <lethal@linux-sh.org> sh: Kill off timer clock strings for legacy CPG parts.

Now with the lookup aliases in place there is no longer any need to
provide the clock string, kill it off for all legacy CPG CPUs.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
ec0ffe2ee0e0fb9da4409d86bfd72636450f32df 10-Mar-2010 Paul Mundt <lethal@linux-sh.org> sh: Kill off all timer name clobbering.

Now that dev_name() can be used early, we no longer require a static
string. Kill off all of the superfluous timer names.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
9d56dd3b083a3bec56e9da35ce07baca81030b03 25-Jan-2010 Paul Mundt <lethal@linux-sh.org> sh: Mass ctrl_in/outX to __raw_read/writeX conversion.

The old ctrl in/out routines are non-portable and unsuitable for
cross-platform use. While drivers/sh has already been sanitized, there
is still quite a lot of code that is not. This converts the arch/sh/ bits
over, which permits us to flag the routines as deprecated whilst still
building with -Werror for the architecture code, and to ensure that
future users are not added.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
cd5f107628ab89c5dec5ad923f1c27f4cba41972 14-Dec-2009 Magnus Damm <damm@opensource.se> sh: sh4 scif pdata (sh7750/sh7760/sh4-202)

This patch breaks out the sh4 scif serial port platform
data from a shared platform device to one platform
device per port. Also, add serial ports to the list of
early platform devices.

While at it, get rid of the R2D ifdef in the processor
code and adjust the defconfigs to use ttySC1.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
ba9a633787eed1e90d587282642580ad3d44f7fd 22-Jul-2009 Magnus Damm <damm@igel.co.jp> sh: convert processor device setup functions to arch_initcall()

Convert the processor platform device setup
functions from __initcall() and sometimes
device_initcall() to arch_initcall().

This makes sure that the platform devices are
registered a bit earlier so the devices are
available when drivers register using initcall
levels earlier than device_initcall().

A good example is platform devices needed by
i2c-sh_mobile.c which registers a bit earlier
using subsys_initcall().

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
26c92f3728d738aaa7e4859d5581323cd68096dd 24-Jun-2009 Paul Mundt <lethal@linux-sh.org> serial: sh-sci: Move SCBRR calculation algo in to platform data.

This permits each port to select its own SCBRR calculation algorithm,
rather than having it all ifdef'ed in the header. There are presently
only 5 different variations that all parts fall under.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
00b9de9c249f51f09c19aa41cbbb3e3eb4eea807 24-Jun-2009 Paul Mundt <lethal@linux-sh.org> serial: sh-sci: Move SCSCR_INIT in to platform data.

This moves all of the SCSCR_INIT definitions in to the platform data,
for future consolidation.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
af777ce42d3d51cdef353ce296d6f99dc503feef 13-May-2009 Paul Mundt <lethal@linux-sh.org> sh: clkfwk: module_clk -> peripheral_clk rename.

For consistenct naming, and to allow us to fix up some confusion in the
SH-Mobile clock framework, amongst other places.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
03f408f1aad8d0f5eb6380732bffc0f72b250fa7 11-May-2009 Magnus Damm <damm@igel.co.jp> sh: TMU platform data for sh775x

This patch adds TMU platform data for sh775x. Both clockevent
and clocksource support is enabled.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
69977e7e25a291fd71c6dcaf2c5ea9e776afede5 24-Feb-2009 Magnus Damm <damm@igel.co.jp> sh: multiple vectors per irq - sh7750

Update intc tables and platform data to use one linux irq
per maskable interrupt source instead of keeping the one-to-one
mapping between vectors and linux irqs.

This fixes potential irq masking issues for sh775x hardware
blocks such as SCI/SCIF/RTC/DMAC/TMU2/REF.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
96de1a8f0275bd67f243833e7088baced518f873 26-Feb-2008 Paul Mundt <lethal@linux-sh.org> serial: Move asm-sh/sci.h to linux/serial_sci.h.

This header is needed on other architectures as well (namely h8300),
which currently fails to build without this in place. Rather than
duplicating the port definition completely there, just move this to a
common location instead.

This should get h8300 working again for 2.6.25, in addition to the
changes already pushed by Sato-san in -rc2.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
7f3edee81fbd49114c28057512906f169caa0bed 10-Jan-2008 Magnus Damm <damm@igel.co.jp> sh: intc - remove default interrupt priority tables

This patch removes interrupt priority tables from the intc code.
Optimal priority assignment varies with embedded application anyway,
so keeping the interrupt priority tables together with cpu-specific
code doesn't make sense.

The function intc_set_priority() should be used instead to set the
desired interrupt priority level.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
5c37e025352b993d8726b0207ff2270b2f2bc7d6 16-Aug-2007 Magnus Damm <damm@igel.co.jp> sh: intc - mark data structures as __initdata

With the intc core improved it is now possible to put the intc data
structures in the initdata section.

Version two of this patch puts the __initdata inside DECLARE_INTC_DESC()
and removes the __initdata included in the board specific r2d code.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
6ef5fb2cfcedaab4a43493c8f2305a67c0ce1af6 12-Aug-2007 Magnus Damm <damm@igel.co.jp> sh: intc - add a clear register to struct intc_prio_reg

We need a secondary register member in struct intc_prio_reg to support
dual priority registers used by ipi on x3.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
d59645d6ba67337ff09369d9da4fc47f7dc361cc 03-Aug-2007 Magnus Damm <damm@igel.co.jp> sh: intc - remove redundant irq code for sh03, snapgear and titan

This patch removes redundant board specific interrupt code for boards
using sh775x processors and 4 IRQ lines in "Individual Interrupt Mode"
aka IRLM.

Three boards are affected: sh03, snapgear and titan.

The right way to do this is to use cpu specific code provided by intc.
A nice side effect is that sh03 now compiles, board not BROKEN any more.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
56386f6424f242cff46e2cfd7be44624cd37dce1 20-Jul-2007 Magnus Damm <damm@igel.co.jp> sh: intc - add support for SH7750 and its variants

This patch converts the cpu specific 7750 setup code to use the
new intc controller. Many new vectors are added and multiple
processor variants including 7091, 7750, 7750s, 7750r, 7751 and
7751r should all have the correct vectors hooked up.

IRLM interrupts can be enabled using ipr_irq_enable_irlm() which
now is marked as __init.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
90015c89386ffb8967422fbe9f5e7babf1dc2c5e 18-Jul-2007 Magnus Damm <damm@igel.co.jp> sh: IPR/INTC2 IRQ setup consolidation.

This patch unifies the cpu specific interrupt setup functions for
interrupt controller blocks such as ipr, intc2 and intc. There is no
point in having separate functions for each interrupt controller, so
let's clean this up.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
68abdbbb03476a60d932eeba0035dd5069afec38 15-Jun-2007 Magnus Damm <damm@igel.co.jp> sh: rework ipr code

This patch reworks the ipr code by grouping the offset array together
with the ipr_data structure in a new data structure called ipr_desc.
This new structure also contains the name of the controller in struct
irq_chip. The idea behind putting struct irq_chip in there is that we
can use offsetof() to locate the base addresses in the irq_chip
callbacks. This strategy has much in common with the recently merged
intc2 code.

One logic change has been made - the original ipr code enabled the
interrupts by default but with this patch they are all disabled by
default.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
27641dee99e0d0c25f224cdfbd11486bd2f131ee 14-May-2007 Paul Mundt <lethal@linux-sh.org> sh: Fix up various compile warnings for SE boards.

- setup-sh7750.c only defines the sh7751_ipr_map when building
with SH7751 support.

- 7722 Solution Engine was missing a mach-type entry, causing
the macro in cf-enabler to be undefined.

- arch/sh/mm/init.c needs linux/pagemap.h.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
9c57548f17806ffd8e4dc4f7973ce78bbfbc2079 15-Feb-2007 Paul Mundt <lethal@linux-sh.org> sh: rts7751r2d board updates.

This tidies up some of the rts7751r2d mess and gets it booting
again. Update the defconfig, too.

Signed-off-by: Masayuki Hosokawa <hosokawa@ace-jp.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
9f8a5e3a44d81bbf19fddeb74645dec6b0e23b23 25-Jan-2007 Manuel Lauss <mano@roarinelk.homelinux.net> sh: SH-DMAC compile fixes

This patch does the following:
- remove the make_ipr_irq stuff from dma-sh.c and replace it
with a simple channel<->irq mapping table.
- add DMTEx_IRQ constants for sh4 cpus
- fix sh7751 DMAE irq number

The SH7780 uses the same IRQs for DMA as other SH4 types, so
I put the constants on top of the dma.h file.

Other CPU types need to #define their own DMTEx_IRQ contants
in their appropriate header.

Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
417d6b9edb5958c2cc76e8ef701ebe09a3152deb 07-Dec-2006 Jamie Lenehan <lenehan@twibble.org> sh: register rtc resources for sh775x.

Register the RTC resources for the sh775x subtype so that the new
generic RTC support in drivers/rtc/rtc-sh.c will work.

Signed-off-by: Jamie Lenehan <lenehan@twibble.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
ea0f8feaa041f3ccec3d6b8ee51325b177daef06 05-Dec-2006 Jamie Lenehan <lenehan@twibble.org> sh: sh775x/titan fixes for irq header changes.

The following moves the creation of IPR interupts into setup-7750.c
and updates a few other things to make it all work after the "Drop
CPU subtype IRQ headers" commit. It boots and runs fine on my titan
board.

- adds an ipr_idx to the ipr_data and uses a function in the subtype
code to calculate the address of the IPR registers

- adds a function to enable individual interrupt mode for externals
in the subtype code and calls that from the titan board code
instead of doing it directly.

- I changed the shift in the ipr_data to be the actual # of bits to
shift, instead of the numnber / 4 - made it easier to match with
the manual.

Signed-off-by: Jamie Lenehan <lenehan@twibble.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c
7dec62e96b38e6c62490ea5dc6939dd8d680a8b8 27-Sep-2006 Paul Mundt <lethal@linux-sh.org> sh: Add setup code for various CPU subtypes.

This adds some simple setup code for most of the CPU subtypes,
primarily simple platform device registration.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
/arch/sh/kernel/cpu/sh4/setup-sh7750.c