aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial/sh-sci.h
Commit message (Collapse)AuthorAgeFilesLines
* tty: move drivers/serial/ to drivers/tty/serial/Greg Kroah-Hartman2011-01-131-660/+0
| | | | | | | | | | | | | | | The serial drivers are really just tty drivers, so move them to drivers/tty/ to make things a bit neater overall. This is part of the tty/serial driver movement proceedure as proposed by Arnd Bergmann and approved by everyone involved a number of months ago. Cc: Arnd Bergmann <arnd@arndb.de> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Rogier Wolff <R.E.Wolff@bitwizard.nl> Cc: Michael H. Warfield <mhw@wittsend.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* ARM: mach-shmobile: Initial AG5 and AG5EVM supportMagnus Damm2010-11-181-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds initial support for Renesas SH-Mobile AG5. At this point the AG5 CPU support is limited to the ARM core, SCIF serial and a CMT timer together with L2 cache and the GIC. The AG5EVM board also supports Ethernet. Future patches will add support for GPIO, INTCS, CPGA and platform data / driver updates for devices such as IIC, LCDC, FSI, KEYSC, CEU and SDHI among others. The code in entry-macro.S will be cleaned up when the ARM IRQ demux code improvements have been merged. Depends on the AG5EVM mach-type recently registered but not yet present in arch/arm/tools/mach-types. As the AG5EVM board comes with 512MiB memory it is recommended to turn on HIGHMEM. Many thanks to Yoshii-san for initial bring up. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'master' of ↵Paul Mundt2010-08-161-6/+23
|\ | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: arch/sh/include/asm/Kbuild drivers/Makefile Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * serial: sh-sci: fix handling of SCIFB sh-mobile portsGuennadi Liakhovetski2010-05-241-6/+23
| | | | | | | | | | | | | | | | SCIFB ports have a slightly different register layout and a different FIFO size from SCIFA ports, in DMA mode they have to be treated just like SCIFA. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: SH-2007 board support.Hitoshi Mitake2010-06-211-4/+13
|/ | | | | | | | | | | | | | | | | | | | | | | This patch series adds support for ITO Co., Ltd.'s SH-2007 reference platform (A PC-104 based SH7780 platform). This is a direct port of the out-of-tree board support from the vendor's kernel, originally located at: http://ms-n.org/sh-linux/kernel/ More information on the board and the vendor can be obtained from the vendor's site at: http://www.itonet.co.jp/ Presently supported peripherals are CF and ethernet, with support for the on-board IDE still pending further testing. Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Reviewed-by: Magnus Damm <magnus.damm@gmail.com> Signed-off-by: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* SH: fix SCIFA SCASCR register bit definitionsGuennadi Liakhovetski2010-03-231-1/+5
| | | | | Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* serial: sh-sci: fix SH-Mobile SH breakageMagnus Damm2010-03-231-7/+22
| | | | | | | | | | | | | | | | | The follwing commit breaks SH-Mobile on non-ARM platforms: "8a77b8d serial: sh-sci: Support ARM-based SH-Mobile CPUs." The commit assumed that CONFIG_ARCH_SHMOBILE only was set on ARM platforms, but it turns out that this kconfig is also set by all SH-based SoCs. Sh7724 and other older SH-Mobile SoCs are all broken without this fix. This patch converts the "defined(CONFIG_ARCH_SHMOBILE)" into one "defined()" per SoC model - similar to existing SH code. Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* serial: sh-sci: Support ARM-based SH-Mobile CPUs.Magnus Damm2010-02-081-8/+14
| | | | | | | | | | Add support for ARM-based SH-Mobile CPUs to the sh-sci driver. Also remove the SCLSR register that is missing on sh772x, sh7705 and SH-Mobile. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* serial: sh-sci: remove SCIF code in sci_rxd_in()Magnus Damm2010-02-081-219/+1
| | | | | | | | | | | | Since sci_rxd_in() is used by SCI only, clean up the header file by killing off code dealing with SCIF ports and their register definitions. Also introduce a default sci_rxd_in() function which can be shared by all SCIF-only processors. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* serial: sh-sci: Convert tremaining ctrl_xxx I/O routines to __raw_xxx.Paul Mundt2009-12-241-59/+59
| | | | | | | | | ctrl_xxx() is an antiquated SH interface, while __raw_xxx is the standard API that accomplishes the same thing. As such, this converts the remaining sh-sci straggles over, which enables the driver to be wired up for ARM SH-Mobile CPUs as well. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* serial: sh-sci: Depend on HAVE_CLK unconditionally.Paul Mundt2009-11-251-1/+1
| | | | | | | | | | | | | The sh-sci code conditionalized the clock framework support in order to give the other platforms a chance to catch up. sh64 supported this some time ago and the forthcoming ARM changes handle this as well, this leaves h8300 as the odd one out. H8300 has had since 2.5 to merge it's sh-sci support upstream, and has yet to do so. At this point I will no longer be holding back the driver to support an unreponsive architecture, 7 years is quite enough of a grace period. Support is easily implemented on the architecture if and when it ever decides to merge its changes upstream. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add initial support for SH7757 CPU subtypeYoshihiro Shimoda2009-08-211-0/+17
| | | | | Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up the sh64 earlyprintk build.Paul Mundt2009-05-091-1/+1
| | | | | | sci_rxd_in() on SH-5 wants to be using SCSPTR, not SCSPTR2. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* serial: sh-sci: Fix up h8300 support.Yoshinori Sato2009-05-081-2/+15
| | | | | | | | - Dummy SCIF functions define. - h8300 specific header include. Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* serial: sh-sci: SH7724 support.Kuninori Morimoto2009-04-161-3/+20
| | | | | Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add support for SH7786 CPU subtype.Kuninori Morimoto2009-03-031-4/+9
| | | | | | | | | | | | | | This adds preliminary support for the SH7786 CPU subtype. While this is a dual-core CPU, only UP is supported for now. L2 cache support is likewise not yet implemented. More information on this particular CPU subtype is available at: http://www.renesas.com/fmwk.jsp?cnt=sh7786_root.jsp&fp=/products/mpumcu/superh_family/sh7780_series/sh7786_group/ Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'sh/stable-updates'Paul Mundt2009-02-121-1/+1
|\
| * serial: sh-sci: fix overrun error handling for SH7785 SCIF.Kuninori Morimoto2009-02-121-1/+1
| | | | | | | | | | | | | | | | There was a typo for the overrun bit definition, causing it not to be handled correctly on SH7785, fix it up. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: use gpiolibMagnus Damm2009-01-271-1/+1
|/ | | | | | | | | | This patch updates the SuperH gpio code to make use of gpiolib. The gpiolib callbacks get() and set() are lockless, but we use our own spinlock for the other operations to make sure hardware register bitfield accesses stay atomic. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: fix sh-sci / early printk build on sh7723Magnus Damm2009-01-211-0/+1
| | | | | | | | This patch adds the SCSPTR register to the sh-sci driver in the case of sh7723 to make sure early printk builds properly. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* serial: sh-sci: Fix up SH7720/SH7721 SCI build.Paul Mundt2009-01-211-1/+3
| | | | | | Missing definitions for PORT_xxx defs. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* serial: sh-sci: Generalize port pin initialization.Paul Mundt2008-12-221-12/+0
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* serial: sh-sci: Tidy up fifo overrun error handling.Paul Mundt2008-12-221-6/+5
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add support for SH7201 CPU subtype.Peter Griffin2008-12-221-2/+20
| | | | | | | This patch adds support for the SH-2A FPU based SH7201 processor subtype. Signed-off-by: Peter Griffin <pgriffin@mpc-data.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* serial: sh-sci: fix cannot work SH7723 SCIFAYoshihiro Shimoda2008-11-121-8/+8
| | | | | | | | SH7723 has SCIFA. This module is similer SCI register map, but it has FIFO. So this patch adds new type(PORT_SCIFA) and change some type checking. Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up the shared IRQ demuxer's control bit testing logic.Michael Trimarchi2008-10-311-0/+1
| | | | | | | | | Correct the interrupt handler in sh4 serial device, return the correct value and check for what is anabled in the SCSCR register. The sh7722 is broken just sending a break using minicom. Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Define SCSPTR1 for SH 7751RMatt Fleming2008-10-311-0/+1
| | | | | | | | | | After the recent commit to kill off SCI/SCIF special casing SH 7751R fails to compile with CONFIG_SH_RTS7751R2D set. This is because SCSPTR1 is undefined. Take the value for SCSPTR1 from the SH7751R Group Hardware Manual. Signed-off-by: Matt Fleming <mjf@gentoo.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add sci_rxd_in of SH4-202Nobuhiro Iwamatsu2008-10-311-2/+8
| | | | | | | | SH4-202 doesn't have SCSXX1. But it is treated so that there is SCSPTR1 in current code. This patch add sci_rxd_in of SH4-202. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Change register name SCSPTR to SCSPTR2Nobuhiro Iwamatsu2008-10-311-1/+1
| | | | | | | | This change a name of SCSPTR used in sci_rxd_in of SH5-101. SCSPTR is not declared and will become the error. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Revert "SH 7366 needs SCIF_ONLY"Paul Mundt2008-10-281-1/+0
| | | | | | | | | This reverts commit 5ca8c4852fcbbc8a8497c4ee8b2a0a7466f3524c. With the killing off of SCIF_ONLY and its spawn in sh-sci, we no longer require this change, so just revert it. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
*-. Merge branches 'sh/serial-rework' and 'sh/oprofile'Paul Mundt2008-10-281-67/+15
|\ \
| * | serial: sh-sci: Kill off all of the SCI/SCIF special casing.Paul Mundt2008-10-021-67/+15
| | | | | | | | | | | | | | | | | | | | | | | | This was added at a time when the compiler did a less than stellar job of optimizing out dead code. These days this tends to be less of a concern, so kill it all off. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | SH 7366 needs SCIF_ONLYKuninori Morimoto2008-10-281-0/+1
| |/ |/| | | | | | | | | | | | | | | SH 7366 has compile bug. because there is no SCIF_ONLY for SH 7366. this patch add it. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | serial: sh-sci: Add support SCIF of SH7723Nobuhiro Iwamatsu2008-10-201-1/+8
|/ | | | | | | | | | SH7723 has two types of SCIF (SCIF and SCIFA). The current sh-sci driver supports only SCIFA, and calculation methods of SCBRR are different. This patch support this methods. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'sh/g3-prep'Paul Mundt2008-10-021-6/+4
|\
| * serial: sh-sci: Handle the general UPF_IOREMAP case.Paul Mundt2008-10-011-6/+4
| | | | | | | | | | | | | | | | Presently we don't do much with UPF_IOREMAP other than special case it for SH-5's onchip_remap() on the early console. Tie this in generically for platforms that need the remap. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | serial: sh-sci: Dynamic clock management depends on HAVE_CLK.Paul Mundt2008-10-021-3/+1
|/ | | | | | | | | | | | | | Presently this is conditionalized on sh, and disabled for sh64. Now that SH-5 ties in to the clock framework, the sh64 exception can be dropped. Additionally, ARM will want to use the same hooks once SH-Mobile G3 grows clock framework support, so switch these paths over to HAVE_CLK now. Once the H8 and ARM sh-sci users hook up HAVE_CLK, the driver can be switched over to having an outright dependency on it and the ifdefs can go away. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* serial: sh-sci: Fix up SH7760/SH7780/SH7785 early printk regression.Paul Mundt2008-07-301-5/+7
| | | | | | | | | | | | | | | | | | | As noted by Manuel: Commit c63847a3621d2bac054f5709783860ecabd0ee7e ("sh: Add SCIF2 support for SH7763.") broke build with CONFIG_EARLY_PRINTK enabled for me (SH7760): CC arch/sh/kernel/early_printk.o /mnt/work/sh7760/kernel/linux-2.6.git/arch/sh/kernel/early_printk.c: In function 'scif_sercon_putc': /mnt/work/sh7760/kernel/linux-2.6.git/arch/sh/kernel/early_printk.c:84: error: implicit declaration of function 'sci_SCFDR_in' Move the SH7763 definitions out on their own, so they don't create additional confusion within the SH7760/SH7780/SH7785 block. Restore the deleted SCFDR definition for these parts. Reported-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add SCIF2 support for SH7763.Nobuhiro Iwamatsu2008-07-281-11/+27
| | | | | | | | | SH7763 has 3 SCIF device. Current code supports SCIF0 and 1. SCIF0 and 1 are same register constitution, but only SCIF2 is different. I added support of SCIF2. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh-sci: avoid writing to nonexistent registersMagnus Damm2008-05-081-1/+1
| | | | | | | Only write to hardware in SCI_OUT() if the register size is valid. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh-sci: sh7722 lacks scsptr registersMagnus Damm2008-05-081-0/+4
| | | | | | | | The sh7722 serial ports all lack SCSPTR registers, so mark them as nonexistent in the register table. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh-sci: improve sh7722 supportMagnus Damm2008-05-081-4/+17
| | | | | | | | Improve sh7722 support for SCIF1 and SCIF2 and separate code from sh7366 implementation. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add support for SH7723 CPU subtype.Paul Mundt2008-04-181-15/+45
| | | | | | This adds basic support for the SH7723 MobileR2 CPU. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* serial: sh-sci: Fix up SH-5 build.Paul Mundt2008-02-141-1/+0
| | | | | | | | asm/hardware.h doesn't exist any more, and the definitions sh-sci.h depended on are provided through asm/cpu/addrspace.h these days. Kill off the bogus include. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: add support for sh7366 processorMagnus Damm2008-02-141-1/+7
| | | | | | | | This patch adds sh7366 cpu supports. Just the most basic things like interrupt controller, clocks and serial port are included at this point. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add support for SH7763 CPU subtype.Yoshihiro Shimoda2008-01-281-1/+18
| | | | | Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add support for SH7721 CPU subtype.Yoshihiro Shimoda2008-01-281-7/+14
| | | | | Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add SH7263 CPU support.Paul Mundt2008-01-281-2/+4
| | | | | | | | | | | | This adds support for the SH7263 (SH-2A) CPU. This particular CPU is a superset of SH7203, adding some additional peripheral blocks and hooking up additional (reserved on SH7203) vectors in the INTC block. No visibly nasty surprises, yet.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add SH7203 CPU support.Paul Mundt2008-01-281-2/+4
| | | | | | | This adds support for the SH7203 (SH-2A) CPU. Signed-off-by: Kieran Bingham <kbingham@mpc-data.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Remove SCI_NPORTS from sh-sci.hNobuhiro Iwamatsu2007-11-071-1/+0
| | | | | | | | When SH7710 and SH7712 are used, SCI_NPORTS redefined. Remove it. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>