add idl4k kernel firmware version 1.13.0.105

This commit is contained in:
Jaroslav Kysela
2015-03-26 17:22:37 +01:00
parent 5194d2792e
commit e9070cdc77
31064 changed files with 12769984 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
#
# Makefile for STMicroelectronics ST40RA/ST40STB1 Starter board
#
obj-y := setup.o mach.o

View File

@@ -0,0 +1,53 @@
/*
* linux/arch/sh/boards/mb374/mach.c
*
* Copyright (C) 2000 Stuart Menefy (stuart.menefy@st.com)
*
* May be copied or modified under the terms of the GNU General Public
* License. See linux/COPYING for more information.
*
* Machine vector for the STMicroelectronics STB40RA Starter board.
*/
#include <linux/init.h>
#include <linux/pci.h>
#include <linux/irq.h>
#include <asm/io.h>
#include <mach/epld.h>
#include "../../../drivers/pci/pci-st40.h"
static void __iomem *mb374_ioport_map(unsigned long port, unsigned int size)
{
#ifdef CONFIG_PCI
/* This is something of a hack, to avoid problems with the IDE
* driver trying to access non-existant memory. So we only
* return valid addresses for PCI, and redirect everything else
* to somewhere safe.
*/
if ((port >= PCIBIOS_MIN_IO) &&
(port < ((64 * 1024) - PCIBIOS_MIN_IO + 1))) {
return port + ST40PCI_IO_ADDRESS;
}
#endif
/* However picking somewhere safe isn't as easy as you might think.
* I used to use external ROM, but that can cause problems if you are
* in the middle of updating Flash. So I'm now using the processor core
* version register, which is guaranted to be available, and non-writable.
*/
return (void __iomem *)CCN_PVR;
}
void __init mb374_setup(char **cmdline_p);
static struct sh_machine_vector mv_mb374 __initmv = {
.mv_name = "ST40RA/ST40STB1 Starter",
.mv_setup = mb374_setup,
.mv_nr_irqs = NR_IRQS,
.mv_ioport_map = mb374_ioport_map,
#ifdef CONFIG_PCI
.mv_init_irq = harp_init_irq,
#endif
};

View File

@@ -0,0 +1,87 @@
/*
* arch/sh/boards/mb374/setup.c
*
* Copyright (C) 2001 Stuart Menefy (stuart.menefy@st.com)
*
* May be copied or modified under the terms of the GNU General Public
* License. See linux/COPYING for more information.
*
* STMicroelectronics ST40RA/ST40STB1 Starter support.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/ioport.h>
#include <linux/pci.h>
#include <asm/io.h>
#include <mach/epld.h>
#include "../../../drivers/pci/pci-st40.h"
/*
* Initialize the board
*/
void __init mb374_setup(char **cmdline_p)
{
unsigned char version;
version = ctrl_inl(EPLD_REVID) & 0xff;
printk("STMicroelectronics ST40 Starter initialisation\n");
printk("EPLD version: %d.%02d\n",(version >> 4) & 0xf, version & 0xf);
/* Currently all STB1 chips have problems with the sleep instruction,
* so disable it here.
*/
disable_hlt();
}
#ifdef CONFIG_PCI
int pcibios_map_platform_irq(struct pci_dev *dev, u8 slot, u8 pin)
{
int irq=-1;
pr_debug("%s: slot %d, pin %d\n", __FUNCTION__, slot, pin);
switch(slot) {
case 1:
irq=0;
break;
case 2:
irq=3;
break;
case 3:
irq=1;
break;
case 4:
irq=2;
break;
}
/* Are we asking for a known slot ? */
if(irq==-1) return -1;
if(pin==1) return irq;
/* if INTB/C/D h then this can only come from the PCI add in slot */
if(slot!=1) return -1;
/* An INTB,INTC,INTD - these are commoned up */
switch(pin) {
case 2:
irq=4;
break;
case 3:
irq=5;
break;
case 4:
irq=7;
break;
default:
irq=-1;
break;
}
return irq;
}
#endif