Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 23305
b: refs/heads/master
c: fa4fa40
h: refs/heads/master
i:
  23303: 35506f8
v: v3
  • Loading branch information
Jeff Garzik committed Mar 23, 2006
1 parent 1c9645e commit c3177f2
Show file tree
Hide file tree
Showing 250 changed files with 4,378 additions and 4,979 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: fe0b06b123762ab620b5bee3dab1576ddddd0a7f
refs/heads/master: fa4fa40a990f8f4eff65476bef32007c154bbac0
42 changes: 41 additions & 1 deletion trunk/Documentation/arm/Samsung-S3C24XX/Overview.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ Introduction
by the 's3c2410' architecture of ARM Linux. Currently the S3C2410 and
the S3C2440 are supported CPUs.

Support for the S3C2400 series is in progress.


Configuration
-------------
Expand All @@ -32,6 +34,11 @@ Machines
A general purpose development board, see EB2410ITX.txt for further
details

Simtec Electronics IM2440D20 (Osiris)

CPU Module from Simtec Electronics, with a S3C2440A CPU, nand flash
and a PCMCIA controller.

Samsung SMDK2410

Samsung's own development board, geared for PDA work.
Expand Down Expand Up @@ -85,6 +92,26 @@ Adding New Machines
mailing list information.


I2C
---

The hardware I2C core in the CPU is supported in single master
mode, and can be configured via platform data.


RTC
---

Support for the onboard RTC unit, including alarm function.


Watchdog
--------

The onchip watchdog is available via the standard watchdog
interface.


NAND
----

Expand Down Expand Up @@ -121,6 +148,15 @@ Clock Management
various clock units


Suspend to RAM
--------------

For boards that provide support for suspend to RAM, the
system can be placed into low power suspend.

See Suspend.txt for more information.


Platform Data
-------------

Expand Down Expand Up @@ -158,6 +194,7 @@ Platform Data
exported outside arch/arm/mach-s3c2410/, or exported to
modules via EXPORT_SYMBOL() and related functions.


Port Contributors
-----------------

Expand Down Expand Up @@ -188,8 +225,11 @@ Document Changes
08 Mar 2005 - BJD - Added LCVR to list of people, updated introduction
08 Mar 2005 - BJD - Added section on adding machines
09 Sep 2005 - BJD - Added section on platform data
11 Feb 2006 - BJD - Added I2C, RTC and Watchdog sections
11 Feb 2006 - BJD - Added Osiris machine, and S3C2400 information


Document Author
---------------

Ben Dooks, (c) 2004-2005 Simtec Electronics
Ben Dooks, (c) 2004-2005,2006 Simtec Electronics
16 changes: 16 additions & 0 deletions trunk/arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,13 @@ config ARCH_EBSA110
Ethernet interface, two PCMCIA sockets, two serial ports and a
parallel port.

config ARCH_EP93XX
bool "EP93xx-based"
select ARM_AMBA
select ARM_VIC
help
This enables support for the Cirrus EP93xx series of CPUs.

config ARCH_FOOTBRIDGE
bool "FootBridge"
select FOOTBRIDGE
Expand Down Expand Up @@ -250,6 +257,8 @@ endchoice

source "arch/arm/mach-clps711x/Kconfig"

source "arch/arm/mach-ep93xx/Kconfig"

source "arch/arm/mach-footbridge/Kconfig"

source "arch/arm/mach-integrator/Kconfig"
Expand Down Expand Up @@ -434,6 +443,13 @@ config NO_IDLE_HZ
Currently at least OMAP, PXA2xx and SA11x0 platforms are known
to have accurate timekeeping with dynamic tick.

config HZ
int
default 128 if ARCH_L7200
default 200 if ARCH_EBSA110 || ARCH_S3C2410
default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
default 100

config AEABI
bool "Use the ARM EABI to compile the kernel"
help
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ endif
machine-$(CONFIG_ARCH_AAEC2000) := aaec2000
machine-$(CONFIG_ARCH_REALVIEW) := realview
machine-$(CONFIG_ARCH_AT91RM9200) := at91rm9200
machine-$(CONFIG_ARCH_EP93XX) := ep93xx

ifeq ($(CONFIG_ARCH_EBSA110),y)
# This is what happens if you forget the IOCS16 line.
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/common/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ obj-$(CONFIG_SHARP_LOCOMO) += locomo.o
obj-$(CONFIG_SHARP_PARAM) += sharpsl_param.o
obj-$(CONFIG_SHARPSL_PM) += sharpsl_pm.o
obj-$(CONFIG_SHARP_SCOOP) += scoop.o
obj-$(CONFIG_ARCH_IXP2000) += uengine.o
2 changes: 1 addition & 1 deletion trunk/arch/arm/common/dmabounce.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* limited DMA windows. These functions utilize bounce buffers to
* copy data to/from buffers located outside the DMA region. This
* only works for systems in which DMA memory is at the bottom of
* RAM and the remainder of memory is at the top an the DMA memory
* RAM, the remainder of memory is at the top and the DMA memory
* can be marked as ZONE_DMA. Anything beyond that such as discontigous
* DMA windows will require custom implementations that reserve memory
* areas at early bootup.
Expand Down
49 changes: 23 additions & 26 deletions trunk/arch/arm/common/locomo.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ struct locomo {
unsigned long phys;
unsigned int irq;
spinlock_t lock;
void *base;
void __iomem *base;
};

struct locomo_dev_info {
Expand Down Expand Up @@ -162,7 +162,7 @@ static void locomo_handler(unsigned int irq, struct irqdesc *desc,
{
int req, i;
struct irqdesc *d;
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);

/* Acknowledge the parent IRQ */
desc->chip->ack(irq);
Expand All @@ -189,7 +189,7 @@ static void locomo_ack_irq(unsigned int irq)

static void locomo_mask_irq(unsigned int irq)
{
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);
unsigned int r;
r = locomo_readl(mapbase + LOCOMO_ICR);
r &= ~(0x0010 << (irq - LOCOMO_IRQ_START));
Expand All @@ -198,7 +198,7 @@ static void locomo_mask_irq(unsigned int irq)

static void locomo_unmask_irq(unsigned int irq)
{
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);
unsigned int r;
r = locomo_readl(mapbase + LOCOMO_ICR);
r |= (0x0010 << (irq - LOCOMO_IRQ_START));
Expand All @@ -215,7 +215,7 @@ static void locomo_key_handler(unsigned int irq, struct irqdesc *desc,
struct pt_regs *regs)
{
struct irqdesc *d;
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);

if (locomo_readl(mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC) & 0x0001) {
d = irq_desc + LOCOMO_IRQ_KEY_START;
Expand All @@ -225,7 +225,7 @@ static void locomo_key_handler(unsigned int irq, struct irqdesc *desc,

static void locomo_key_ack_irq(unsigned int irq)
{
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);
unsigned int r;
r = locomo_readl(mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC);
r &= ~(0x0100 << (irq - LOCOMO_IRQ_KEY_START));
Expand All @@ -234,7 +234,7 @@ static void locomo_key_ack_irq(unsigned int irq)

static void locomo_key_mask_irq(unsigned int irq)
{
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);
unsigned int r;
r = locomo_readl(mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC);
r &= ~(0x0010 << (irq - LOCOMO_IRQ_KEY_START));
Expand All @@ -243,7 +243,7 @@ static void locomo_key_mask_irq(unsigned int irq)

static void locomo_key_unmask_irq(unsigned int irq)
{
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);
unsigned int r;
r = locomo_readl(mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC);
r |= (0x0010 << (irq - LOCOMO_IRQ_KEY_START));
Expand All @@ -261,7 +261,7 @@ static void locomo_gpio_handler(unsigned int irq, struct irqdesc *desc,
{
int req, i;
struct irqdesc *d;
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);

req = locomo_readl(mapbase + LOCOMO_GIR) &
locomo_readl(mapbase + LOCOMO_GPD) &
Expand All @@ -280,7 +280,7 @@ static void locomo_gpio_handler(unsigned int irq, struct irqdesc *desc,

static void locomo_gpio_ack_irq(unsigned int irq)
{
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);
unsigned int r;
r = locomo_readl(mapbase + LOCOMO_GWE);
r |= (0x0001 << (irq - LOCOMO_IRQ_GPIO_START));
Expand All @@ -297,7 +297,7 @@ static void locomo_gpio_ack_irq(unsigned int irq)

static void locomo_gpio_mask_irq(unsigned int irq)
{
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);
unsigned int r;
r = locomo_readl(mapbase + LOCOMO_GIE);
r &= ~(0x0001 << (irq - LOCOMO_IRQ_GPIO_START));
Expand All @@ -306,7 +306,7 @@ static void locomo_gpio_mask_irq(unsigned int irq)

static void locomo_gpio_unmask_irq(unsigned int irq)
{
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);
unsigned int r;
r = locomo_readl(mapbase + LOCOMO_GIE);
r |= (0x0001 << (irq - LOCOMO_IRQ_GPIO_START));
Expand All @@ -323,7 +323,7 @@ static void locomo_lt_handler(unsigned int irq, struct irqdesc *desc,
struct pt_regs *regs)
{
struct irqdesc *d;
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);

if (locomo_readl(mapbase + LOCOMO_LTINT) & 0x0001) {
d = irq_desc + LOCOMO_IRQ_LT_START;
Expand All @@ -333,7 +333,7 @@ static void locomo_lt_handler(unsigned int irq, struct irqdesc *desc,

static void locomo_lt_ack_irq(unsigned int irq)
{
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);
unsigned int r;
r = locomo_readl(mapbase + LOCOMO_LTINT);
r &= ~(0x0100 << (irq - LOCOMO_IRQ_LT_START));
Expand All @@ -342,7 +342,7 @@ static void locomo_lt_ack_irq(unsigned int irq)

static void locomo_lt_mask_irq(unsigned int irq)
{
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);
unsigned int r;
r = locomo_readl(mapbase + LOCOMO_LTINT);
r &= ~(0x0010 << (irq - LOCOMO_IRQ_LT_START));
Expand All @@ -351,7 +351,7 @@ static void locomo_lt_mask_irq(unsigned int irq)

static void locomo_lt_unmask_irq(unsigned int irq)
{
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);
unsigned int r;
r = locomo_readl(mapbase + LOCOMO_LTINT);
r |= (0x0010 << (irq - LOCOMO_IRQ_LT_START));
Expand All @@ -369,7 +369,7 @@ static void locomo_spi_handler(unsigned int irq, struct irqdesc *desc,
{
int req, i;
struct irqdesc *d;
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);

req = locomo_readl(mapbase + LOCOMO_SPIIR) & 0x000F;
if (req) {
Expand All @@ -386,7 +386,7 @@ static void locomo_spi_handler(unsigned int irq, struct irqdesc *desc,

static void locomo_spi_ack_irq(unsigned int irq)
{
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);
unsigned int r;
r = locomo_readl(mapbase + LOCOMO_SPIWE);
r |= (0x0001 << (irq - LOCOMO_IRQ_SPI_START));
Expand All @@ -403,7 +403,7 @@ static void locomo_spi_ack_irq(unsigned int irq)

static void locomo_spi_mask_irq(unsigned int irq)
{
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);
unsigned int r;
r = locomo_readl(mapbase + LOCOMO_SPIIE);
r &= ~(0x0001 << (irq - LOCOMO_IRQ_SPI_START));
Expand All @@ -412,7 +412,7 @@ static void locomo_spi_mask_irq(unsigned int irq)

static void locomo_spi_unmask_irq(unsigned int irq)
{
void *mapbase = get_irq_chipdata(irq);
void __iomem *mapbase = get_irq_chipdata(irq);
unsigned int r;
r = locomo_readl(mapbase + LOCOMO_SPIIE);
r |= (0x0001 << (irq - LOCOMO_IRQ_SPI_START));
Expand All @@ -428,7 +428,7 @@ static struct irqchip locomo_spi_chip = {
static void locomo_setup_irq(struct locomo *lchip)
{
int irq;
void *irqbase = lchip->base;
void __iomem *irqbase = lchip->base;

/*
* Install handler for IRQ_LOCOMO_HW.
Expand Down Expand Up @@ -501,12 +501,11 @@ locomo_init_one_child(struct locomo *lchip, struct locomo_dev_info *info)
struct locomo_dev *dev;
int ret;

dev = kmalloc(sizeof(struct locomo_dev), GFP_KERNEL);
dev = kzalloc(sizeof(struct locomo_dev), GFP_KERNEL);
if (!dev) {
ret = -ENOMEM;
goto out;
}
memset(dev, 0, sizeof(struct locomo_dev));

strncpy(dev->dev.bus_id,info->name,sizeof(dev->dev.bus_id));
/*
Expand Down Expand Up @@ -664,12 +663,10 @@ __locomo_probe(struct device *me, struct resource *mem, int irq)
unsigned long r;
int i, ret = -ENODEV;

lchip = kmalloc(sizeof(struct locomo), GFP_KERNEL);
lchip = kzalloc(sizeof(struct locomo), GFP_KERNEL);
if (!lchip)
return -ENOMEM;

memset(lchip, 0, sizeof(struct locomo));

spin_lock_init(&lchip->lock);

lchip->dev = me;
Expand Down
Loading

0 comments on commit c3177f2

Please sign in to comment.