Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eab184c2 authored by Alexander Schulz's avatar Alexander Schulz Committed by Russell King
Browse files

[ARM] 5363/1: Shark cleanup and new defconfig



This includes a new defconfig for the Shark and some changes to
the mach-shark directory to avoid namespace pollution and to
switch the rtc to the newer driver.

Signed-off-by: default avatarAlexander Schulz <alex@shark-linux.de>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 60f793de
Loading
Loading
Loading
Loading
+593 −335

File changed.

Preview size limit exceeded, changes collapsed.

+44 −4
Original line number Diff line number Diff line
@@ -16,12 +16,28 @@
#include <asm/leds.h>
#include <asm/param.h>

#include <mach/hardware.h>

#include <asm/mach/map.h>
#include <asm/mach/arch.h>
#include <asm/mach/time.h>

#define IO_BASE                 0xe0000000
#define IO_SIZE                 0x08000000
#define IO_START                0x40000000
#define ROMCARD_SIZE            0x08000000
#define ROMCARD_START           0x10000000

void arch_reset(char mode)
{
        short temp;
        local_irq_disable();
        /* Reset the Machine via pc[3] of the sequoia chipset */
        outw(0x09,0x24);
        temp=inw(0x26);
        temp = temp | (1<<3) | (1<<10);
        outw(0x09,0x24);
        outw(temp,0x26);
}

static struct plat_serial8250_port serial_platform_data[] = {
	{
		.iobase		= 0x3f8,
@@ -50,14 +66,38 @@ static struct platform_device serial_device = {
	},
};

static struct resource rtc_resources[] = {
	[0] = {
		.start	= 0x70,
		.end	= 0x73,
		.flags	= IORESOURCE_IO,
	},
	[1] = {
		.start	= IRQ_ISA_RTC_ALARM,
		.end	= IRQ_ISA_RTC_ALARM,
		.flags	= IORESOURCE_IRQ,
	}
};

static struct platform_device rtc_device = {
	.name		= "rtc_cmos",
	.id		= -1,
	.resource	= rtc_resources,
	.num_resources	= ARRAY_SIZE(rtc_resources),
};

static int __init shark_init(void)
{
	int ret;

	if (machine_is_shark())
	{
	        ret = platform_device_register(&rtc_device);
		if (ret) printk(KERN_ERR "Unable to register RTC device: %d\n", ret);
		ret = platform_device_register(&serial_device);

	return ret;
		if (ret) printk(KERN_ERR "Unable to register Serial device: %d\n", ret);
	}
	return 0;
}

arch_initcall(shark_init);
+0 −2
Original line number Diff line number Diff line
@@ -27,5 +27,3 @@
		bne	1001b
		.endm
		.macro	waituart,rd,rx
		.endm
+16 −0
Original line number Diff line number Diff line
/*
 * arch/arm/mach-shark/include/mach/framebuffer.h
 *
 * by Alexander Schulz
 *
 */

#ifndef __ASM_ARCH_FRAMEBUFFER_H
#define __ASM_ARCH_FRAMEBUFFER_H

/* defines for the Framebuffer */
#define FB_START		0x06000000
#define FB_SIZE			0x01000000

#endif
+0 −27
Original line number Diff line number Diff line
@@ -10,35 +10,8 @@
#ifndef __ASM_ARCH_HARDWARE_H
#define __ASM_ARCH_HARDWARE_H

#ifndef __ASSEMBLY__

/*
 * Mapping areas
 */
#define IO_BASE			0xe0000000

#else

#define IO_BASE			0

#endif

#define IO_SIZE			0x08000000
#define IO_START		0x40000000
#define ROMCARD_SIZE		0x08000000
#define ROMCARD_START		0x10000000


/* defines for the Framebuffer */
#define FB_START		0x06000000
#define FB_SIZE			0x01000000

#define UNCACHEABLE_ADDR        0xdf010000

#define SEQUOIA_LED_GREEN       (1<<6)
#define SEQUOIA_LED_AMBER       (1<<5)
#define SEQUOIA_LED_BACK        (1<<7)

#define pcibios_assign_all_busses()     1

#define PCIBIOS_MIN_IO          0x6000
Loading