mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 22:21:42 +00:00
f9a531d673
After the Ether platform data is fixed, the driver probe() method would
still fail since the 'struct sh_eth_cpu_data' corresponding to SH771x
indicates the presence of TSU but the memory resource for it is absent.
Add the missing TSU resource to both Ether devices and fix the harmless
off-by-one error in the main memory resources, while at it...
Fixes: 4986b99688
("net: sh_eth: remove the SH_TSU_ADDR")
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
121 lines
3.5 KiB
C
121 lines
3.5 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __ASM_SH_HITACHI_SE_H
|
|
#define __ASM_SH_HITACHI_SE_H
|
|
|
|
/*
|
|
* linux/include/asm-sh/hitachi_se.h
|
|
*
|
|
* Copyright (C) 2000 Kazumoto Kojima
|
|
*
|
|
* Hitachi SolutionEngine support
|
|
*/
|
|
#include <linux/sh_intc.h>
|
|
|
|
/* Box specific addresses. */
|
|
|
|
#define PA_ROM 0x00000000 /* EPROM */
|
|
#define PA_ROM_SIZE 0x00400000 /* EPROM size 4M byte */
|
|
#define PA_FROM 0x01000000 /* EPROM */
|
|
#define PA_FROM_SIZE 0x00400000 /* EPROM size 4M byte */
|
|
#define PA_EXT1 0x04000000
|
|
#define PA_EXT1_SIZE 0x04000000
|
|
#define PA_EXT2 0x08000000
|
|
#define PA_EXT2_SIZE 0x04000000
|
|
#define PA_SDRAM 0x0c000000
|
|
#define PA_SDRAM_SIZE 0x04000000
|
|
|
|
#define PA_EXT4 0x12000000
|
|
#define PA_EXT4_SIZE 0x02000000
|
|
#define PA_EXT5 0x14000000
|
|
#define PA_EXT5_SIZE 0x04000000
|
|
#define PA_PCIC 0x18000000 /* MR-SHPC-01 PCMCIA */
|
|
|
|
#define PA_83902 0xb0000000 /* DP83902A */
|
|
#define PA_83902_IF 0xb0040000 /* DP83902A remote io port */
|
|
#define PA_83902_RST 0xb0080000 /* DP83902A reset port */
|
|
|
|
#define PA_SUPERIO 0xb0400000 /* SMC37C935A super io chip */
|
|
#define PA_DIPSW0 0xb0800000 /* Dip switch 5,6 */
|
|
#define PA_DIPSW1 0xb0800002 /* Dip switch 7,8 */
|
|
#define PA_LED 0xb0c00000 /* LED */
|
|
#if defined(CONFIG_CPU_SUBTYPE_SH7705)
|
|
#define PA_BCR 0xb0e00000
|
|
#else
|
|
#define PA_BCR 0xb1400000 /* FPGA */
|
|
#endif
|
|
|
|
#define PA_MRSHPC 0xb83fffe0 /* MR-SHPC-01 PCMCIA controller */
|
|
#define PA_MRSHPC_MW1 0xb8400000 /* MR-SHPC-01 memory window base */
|
|
#define PA_MRSHPC_MW2 0xb8500000 /* MR-SHPC-01 attribute window base */
|
|
#define PA_MRSHPC_IO 0xb8600000 /* MR-SHPC-01 I/O window base */
|
|
#define MRSHPC_OPTION (PA_MRSHPC + 6)
|
|
#define MRSHPC_CSR (PA_MRSHPC + 8)
|
|
#define MRSHPC_ISR (PA_MRSHPC + 10)
|
|
#define MRSHPC_ICR (PA_MRSHPC + 12)
|
|
#define MRSHPC_CPWCR (PA_MRSHPC + 14)
|
|
#define MRSHPC_MW0CR1 (PA_MRSHPC + 16)
|
|
#define MRSHPC_MW1CR1 (PA_MRSHPC + 18)
|
|
#define MRSHPC_IOWCR1 (PA_MRSHPC + 20)
|
|
#define MRSHPC_MW0CR2 (PA_MRSHPC + 22)
|
|
#define MRSHPC_MW1CR2 (PA_MRSHPC + 24)
|
|
#define MRSHPC_IOWCR2 (PA_MRSHPC + 26)
|
|
#define MRSHPC_CDCR (PA_MRSHPC + 28)
|
|
#define MRSHPC_PCIC_INFO (PA_MRSHPC + 30)
|
|
|
|
#define BCR_ILCRA (PA_BCR + 0)
|
|
#define BCR_ILCRB (PA_BCR + 2)
|
|
#define BCR_ILCRC (PA_BCR + 4)
|
|
#define BCR_ILCRD (PA_BCR + 6)
|
|
#define BCR_ILCRE (PA_BCR + 8)
|
|
#define BCR_ILCRF (PA_BCR + 10)
|
|
#define BCR_ILCRG (PA_BCR + 12)
|
|
|
|
#if defined(CONFIG_CPU_SUBTYPE_SH7709)
|
|
#define INTC_IRR0 0xa4000004UL
|
|
#define INTC_IRR1 0xa4000006UL
|
|
#define INTC_IRR2 0xa4000008UL
|
|
|
|
#define INTC_ICR0 0xfffffee0UL
|
|
#define INTC_ICR1 0xa4000010UL
|
|
#define INTC_ICR2 0xa4000012UL
|
|
#define INTC_INTER 0xa4000014UL
|
|
|
|
#define INTC_IPRC 0xa4000016UL
|
|
#define INTC_IPRD 0xa4000018UL
|
|
#define INTC_IPRE 0xa400001aUL
|
|
|
|
#define IRQ0_IRQ evt2irq(0x600)
|
|
#define IRQ1_IRQ evt2irq(0x620)
|
|
#endif
|
|
|
|
#if defined(CONFIG_CPU_SUBTYPE_SH7705)
|
|
#define IRQ_STNIC evt2irq(0x380)
|
|
#define IRQ_CFCARD evt2irq(0x3c0)
|
|
#else
|
|
#define IRQ_STNIC evt2irq(0x340)
|
|
#define IRQ_CFCARD evt2irq(0x2e0)
|
|
#endif
|
|
|
|
/* SH Ether support (SH7710/SH7712) */
|
|
/* Base address */
|
|
#define SH_ETH0_BASE 0xA7000000
|
|
#define SH_ETH1_BASE 0xA7000400
|
|
#define SH_TSU_BASE 0xA7000800
|
|
/* PHY ID */
|
|
#if defined(CONFIG_CPU_SUBTYPE_SH7710)
|
|
# define PHY_ID 0x00
|
|
#elif defined(CONFIG_CPU_SUBTYPE_SH7712)
|
|
# define PHY_ID 0x01
|
|
#endif
|
|
/* Ether IRQ */
|
|
#define SH_ETH0_IRQ evt2irq(0xc00)
|
|
#define SH_ETH1_IRQ evt2irq(0xc20)
|
|
#define SH_TSU_IRQ evt2irq(0xc40)
|
|
|
|
void init_se_IRQ(void);
|
|
|
|
#define __IO_PREFIX se
|
|
#include <asm/io_generic.h>
|
|
|
|
#endif /* __ASM_SH_HITACHI_SE_H */
|