···1010 */11111212#include <linux/sched.h>1313-#include <asm/se/se.h>1313+#include <asm/se.h>14141515/* Cycle the LED's in the clasic Knightrider/Sun pattern */1616void heartbeat_se(void)
···88 *99 * This file contains Solution Engine specific LED code.1010 */1111-1212-#include <asm/se7751/se7751.h>1311#include <linux/sched.h>1212+#include <asm/se7751.h>14131514/* Cycle the LED's in the clasic Knightrider/Sun pattern */1615void heartbeat_7751se(void)
···11-/****************************************************************************/22-/* 11+/*32 * linux/arch/sh/boards/snapgear/setup.c43 *54 * Copyright (C) 2002 David McCullough <davidm@snapgear.com>···1112 * Modified for 7751 Solution Engine by1213 * Ian da Silva and Jeremy Siegel, 2001.1314 */1414-/****************************************************************************/1515-1615#include <linux/init.h>1716#include <linux/irq.h>1817#include <linux/interrupt.h>···1821#include <linux/delay.h>1922#include <linux/module.h>2023#include <linux/sched.h>2121-2224#include <asm/machvec.h>2323-#include <asm/mach/io.h>2525+#include <asm/snapgear.h>2426#include <asm/irq.h>2527#include <asm/io.h>2828+#include <asm/rtc.h>2629#include <asm/cpu/timer.h>27302828-extern void (*board_time_init)(void);2931extern void secureedge5410_rtc_init(void);3032extern void pcibios_init(void);3133···8185 make_ipr_irq(IRL3_IRQ, IRL3_IPR_ADDR, IRL3_IPR_POS, IRL3_PRIORITY);8286}83878484-/****************************************************************************/8585-/*8686- * Fast poll interrupt simulator.8787- */8888-8989-/*9090- * Leave all of the fast timer/fast poll stuff commented out for now, since9191- * it's not clear whether it actually works or not. Since it wasn't being used9292- * at all in 2.4, we'll assume it's not sane for 2.6 either.. -- PFM9393- */9494-#if 09595-#define FAST_POLL 10009696-//#define FAST_POLL_INTR9797-9898-#define FASTTIMER_IRQ 179999-#define FASTTIMER_IPR_ADDR INTC_IPRA100100-#define FASTTIMER_IPR_POS 2101101-#define FASTTIMER_PRIORITY 3102102-103103-#ifdef FAST_POLL_INTR104104-#define TMU1_TCR_INIT 0x0020105105-#else106106-#define TMU1_TCR_INIT 0107107-#endif108108-#define TMU_TSTR_INIT 1109109-#define TMU1_TCR_CALIB 0x0000110110-111111-112112-#ifdef FAST_POLL_INTR113113-static void fast_timer_irq(int irq, void *dev_instance, struct pt_regs *regs)114114-{115115- unsigned long timer_status;116116- timer_status = ctrl_inw(TMU1_TCR);117117- timer_status &= ~0x100;118118- ctrl_outw(timer_status, TMU1_TCR);119119-}120120-#endif121121-122122-/*123123- * return the current ticks on the fast timer124124- */125125-126126-unsigned long fast_timer_count(void)127127-{128128- return(ctrl_inl(TMU1_TCNT));129129-}130130-131131-/*132132- * setup a fast timer for profiling etc etc133133- */134134-135135-static void setup_fast_timer()136136-{137137- unsigned long interval;138138-139139-#ifdef FAST_POLL_INTR140140- interval = (current_cpu_data.module_clock/4 + FAST_POLL/2) / FAST_POLL;141141-142142- make_ipr_irq(FASTTIMER_IRQ, FASTTIMER_IPR_ADDR, FASTTIMER_IPR_POS,143143- FASTTIMER_PRIORITY);144144-145145- printk("SnapGear: %dHz fast timer on IRQ %d\n",FAST_POLL,FASTTIMER_IRQ);146146-147147- if (request_irq(FASTTIMER_IRQ, fast_timer_irq, 0, "SnapGear fast timer",148148- NULL) != 0)149149- printk("%s(%d): request_irq() failed?\n", __FILE__, __LINE__);150150-#else151151- printk("SnapGear: fast timer running\n",FAST_POLL,FASTTIMER_IRQ);152152- interval = 0xffffffff;153153-#endif154154-155155- ctrl_outb(ctrl_inb(TMU_TSTR) & ~0x2, TMU_TSTR); /* disable timer 1 */156156- ctrl_outw(TMU1_TCR_INIT, TMU1_TCR);157157- ctrl_outl(interval, TMU1_TCOR);158158- ctrl_outl(interval, TMU1_TCNT);159159- ctrl_outb(ctrl_inb(TMU_TSTR) | 0x2, TMU_TSTR); /* enable timer 1 */160160-161161- printk("Timer count 1 = 0x%x\n", fast_timer_count());162162- udelay(1000);163163- printk("Timer count 2 = 0x%x\n", fast_timer_count());164164-}165165-#endif166166-167167-/****************************************************************************/168168-16988const char *get_system_type(void)17089{17190 return "SnapGear SecureEdge5410";···106195 .mv_outb_p = snapgear_outb_p,107196 .mv_outw_p = snapgear_outw,108197 .mv_outl_p = snapgear_outl,109109-110110- .mv_isa_port2addr = snapgear_isa_port2addr,111198112199 .mv_init_irq = init_snapgear_IRQ,113200};
+2-2
arch/sh/boards/titan/io.c
···3030 ctrl_inw(0xa0000000);3131}32323333-static inline volatile u16 *port2adr(unsigned int port)3333+static inline unsigned int port2adr(unsigned int port)3434{3535 maybebadio((unsigned long)port);3636- return (volatile u16*)port;3636+ return port;3737}38383939u8 titan_inb(unsigned long port)
+5-1
arch/sh/cchips/Kconfig
···65656666 Do not change this unless you know what you are doing.67676868+config HD64461_IOBASE6969+ hex "HD64461 start address"7070+ depends on HD644617171+ default "0xb0000000"7272+6873config HD64461_ENABLER6974 bool "HD64461 PCMCIA enabler"7075 depends on HD64461···7772 Say Y here if you want to enable PCMCIA support7873 via the HD64461 companion chip.7974 Otherwise, say N.8080-81758276config HD64465_IOBASE8377 hex "HD64465 start address"
+3-4
arch/sh/kernel/cf-enabler.c
···1010 */11111212#include <linux/init.h>1313-1313+#include <linux/mm.h>1414+#include <linux/vmalloc.h>1415#include <asm/io.h>1516#include <asm/irq.h>1617···3332/* SH4 can't access PCMCIA interface through P2 area.3433 * we must remap it with appropreate attribute bit of the page set.3534 * this part is based on Greg Banks' hd64465_ss.c implementation - Masahiro Abe */3636-#include <linux/mm.h>3737-#include <linux/vmalloc.h>38353936#if defined(CONFIG_CF_AREA6)4037#define slot_no 0···8384}84858586#if defined(CONFIG_SH_SOLUTION_ENGINE)8686-#include <asm/se/se.h>8787+#include <asm/se.h>87888889/*8990 * SolutionEngine
···11-/*22- * include/asm-sh/io_se.h33- *44- * Copyright 2000 Stuart Menefy (stuart.menefy@st.com)55- *66- * May be copied or modified under the terms of the GNU General Public77- * License. See linux/COPYING for more information.88- *99- * IO functions for an Hitachi SolutionEngine1010- */1111-1212-#ifndef _ASM_SH_IO_SE_H1313-#define _ASM_SH_IO_SE_H1414-1515-extern unsigned char se_inb(unsigned long port);1616-extern unsigned short se_inw(unsigned long port);1717-extern unsigned int se_inl(unsigned long port);1818-1919-extern void se_outb(unsigned char value, unsigned long port);2020-extern void se_outw(unsigned short value, unsigned long port);2121-extern void se_outl(unsigned int value, unsigned long port);2222-2323-extern unsigned char se_inb_p(unsigned long port);2424-extern void se_outb_p(unsigned char value, unsigned long port);2525-2626-extern void se_insb(unsigned long port, void *addr, unsigned long count);2727-extern void se_insw(unsigned long port, void *addr, unsigned long count);2828-extern void se_insl(unsigned long port, void *addr, unsigned long count);2929-extern void se_outsb(unsigned long port, const void *addr, unsigned long count);3030-extern void se_outsw(unsigned long port, const void *addr, unsigned long count);3131-extern void se_outsl(unsigned long port, const void *addr, unsigned long count);3232-3333-extern unsigned long se_isa_port2addr(unsigned long offset);3434-3535-#endif /* _ASM_SH_IO_SE_H */
···11-/*22- * include/asm-sh/se73180/io.h33- *44- * Copyright (C) 2003 Takashi Kusuda <kusuda-takashi@hitachi-ul.co.jp>55- * Based on include/asm-sh/se7300/io.h66- *77- * IO functions for SH-Mobile3(SH73180) SolutionEngine88- *99- */1010-1111-#ifndef _ASM_SH_IO_73180SE_H1212-#define _ASM_SH_IO_73180SE_H1313-1414-extern unsigned char sh73180se_inb(unsigned long port);1515-extern unsigned short sh73180se_inw(unsigned long port);1616-extern unsigned int sh73180se_inl(unsigned long port);1717-1818-extern void sh73180se_outb(unsigned char value, unsigned long port);1919-extern void sh73180se_outw(unsigned short value, unsigned long port);2020-extern void sh73180se_outl(unsigned int value, unsigned long port);2121-2222-extern unsigned char sh73180se_inb_p(unsigned long port);2323-extern void sh73180se_outb_p(unsigned char value, unsigned long port);2424-2525-extern void sh73180se_insb(unsigned long port, void *addr, unsigned long count);2626-extern void sh73180se_insw(unsigned long port, void *addr, unsigned long count);2727-extern void sh73180se_insl(unsigned long port, void *addr, unsigned long count);2828-extern void sh73180se_outsb(unsigned long port, const void *addr, unsigned long count);2929-extern void sh73180se_outsw(unsigned long port, const void *addr, unsigned long count);3030-extern void sh73180se_outsl(unsigned long port, const void *addr, unsigned long count);3131-3232-#endif /* _ASM_SH_IO_73180SE_H */
···11-/*22- * include/asm-sh/io_7751se.h33- *44- * Modified version of io_se.h for the 7751se-specific functions.55- *66- * May be copied or modified under the terms of the GNU General Public77- * License. See linux/COPYING for more information.88- *99- * IO functions for an Hitachi SolutionEngine1010- */1111-1212-#ifndef _ASM_SH_IO_7751SE_H1313-#define _ASM_SH_IO_7751SE_H1414-1515-extern unsigned char sh7751se_inb(unsigned long port);1616-extern unsigned short sh7751se_inw(unsigned long port);1717-extern unsigned int sh7751se_inl(unsigned long port);1818-1919-extern void sh7751se_outb(unsigned char value, unsigned long port);2020-extern void sh7751se_outw(unsigned short value, unsigned long port);2121-extern void sh7751se_outl(unsigned int value, unsigned long port);2222-2323-extern unsigned char sh7751se_inb_p(unsigned long port);2424-extern void sh7751se_outb_p(unsigned char value, unsigned long port);2525-2626-extern void sh7751se_insb(unsigned long port, void *addr, unsigned long count);2727-extern void sh7751se_insw(unsigned long port, void *addr, unsigned long count);2828-extern void sh7751se_insl(unsigned long port, void *addr, unsigned long count);2929-extern void sh7751se_outsb(unsigned long port, const void *addr, unsigned long count);3030-extern void sh7751se_outsw(unsigned long port, const void *addr, unsigned long count);3131-extern void sh7751se_outsl(unsigned long port, const void *addr, unsigned long count);3232-3333-extern unsigned char sh7751se_readb(unsigned long addr);3434-extern unsigned short sh7751se_readw(unsigned long addr);3535-extern unsigned int sh7751se_readl(unsigned long addr);3636-extern void sh7751se_writeb(unsigned char b, unsigned long addr);3737-extern void sh7751se_writew(unsigned short b, unsigned long addr);3838-extern void sh7751se_writel(unsigned int b, unsigned long addr);3939-4040-extern unsigned long sh7751se_isa_port2addr(unsigned long offset);4141-4242-#endif /* _ASM_SH_IO_7751SE_H */
···11-#ifndef __ASM_SH_SYSTEMH_7751SYSTEMH_H22-#define __ASM_SH_SYSTEMH_7751SYSTEMH_H11+#ifndef __ASM_SH_HITACHI_7751SE_H22+#define __ASM_SH_HITACHI_7751SE_H3344/*55- * linux/include/asm-sh/systemh/7751systemh.h55+ * linux/include/asm-sh/hitachi_7751se.h66 *77 * Copyright (C) 2000 Kazumoto Kojima88 *99- * Hitachi SystemH support99+ * Hitachi SolutionEngine support10101111- * Modified for 7751 SystemH by1212- * Jonathan Short, 2002.1111+ * Modified for 7751 Solution Engine by1212+ * Ian da Silva and Jeremy Siegel, 2001.1313 */14141515/* Box specific addresses. */···65656666#define IRQ_79C973 1367676868-#endif /* __ASM_SH_SYSTEMH_7751SYSTEMH_H */6868+#define __IO_PREFIX sh7751se6969+#include <asm/io_generic.h>7070+7171+#endif /* __ASM_SH_HITACHI_7751SE_H */
-43
include/asm-sh/systemh/io.h
···11-/*22- * include/asm-sh/systemh/io.h33- *44- * Stupid I/O definitions for SystemH, cloned from SE7751.55- *66- * Copyright (C) 2003 Paul Mundt77- *88- * This file is subject to the terms and conditions of the GNU General Public99- * License. See the file "COPYING" in the main directory of this archive1010- * for more details.1111- */1212-#ifndef __ASM_SH_SYSTEMH_IO_H1313-#define __ASM_SH_SYSTEMH_IO_H1414-1515-extern unsigned char sh7751systemh_inb(unsigned long port);1616-extern unsigned short sh7751systemh_inw(unsigned long port);1717-extern unsigned int sh7751systemh_inl(unsigned long port);1818-1919-extern void sh7751systemh_outb(unsigned char value, unsigned long port);2020-extern void sh7751systemh_outw(unsigned short value, unsigned long port);2121-extern void sh7751systemh_outl(unsigned int value, unsigned long port);2222-2323-extern unsigned char sh7751systemh_inb_p(unsigned long port);2424-extern void sh7751systemh_outb_p(unsigned char value, unsigned long port);2525-2626-extern void sh7751systemh_insb(unsigned long port, void *addr, unsigned long count);2727-extern void sh7751systemh_insw(unsigned long port, void *addr, unsigned long count);2828-extern void sh7751systemh_insl(unsigned long port, void *addr, unsigned long count);2929-extern void sh7751systemh_outsb(unsigned long port, const void *addr, unsigned long count);3030-extern void sh7751systemh_outsw(unsigned long port, const void *addr, unsigned long count);3131-extern void sh7751systemh_outsl(unsigned long port, const void *addr, unsigned long count);3232-3333-extern unsigned char sh7751systemh_readb(unsigned long addr);3434-extern unsigned short sh7751systemh_readw(unsigned long addr);3535-extern unsigned int sh7751systemh_readl(unsigned long addr);3636-extern void sh7751systemh_writeb(unsigned char b, unsigned long addr);3737-extern void sh7751systemh_writew(unsigned short b, unsigned long addr);3838-extern void sh7751systemh_writel(unsigned int b, unsigned long addr);3939-4040-extern unsigned long sh7751systemh_isa_port2addr(unsigned long offset);4141-4242-#endif /* __ASM_SH_SYSTEMH_IO_H */4343-