Author: titmuss
Date: Wed Jan 16 03:01:18 2008
New Revision: 1459
URL: http://svn.slimdevices.com?rev=1459&root=Jive&view=rev
Log:
Bug: N/A
Description:
Patch from Ben Dooks, required for wlan dma.
Added:
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mach-s3c2412/gpio.c
Modified:
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/.config
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/Kconfig
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mach-s3c2412/Makefile
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mach-s3c2412/dma.c
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mm/consistent.c
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/plat-s3c24xx/dma.c
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/drivers/mmc/host/s3cmci.c
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/drivers/mtd/maps/plat-ram.c
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/drivers/video/s3c2410fb.c
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/hardware.h
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/irqs.h
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/regs-gpio.h
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/regs-spi.h
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/dma-mapping.h
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/plat-s3c24xx/dma.h
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/sound/soc/s3c24xx/s3c24xx-pcm.c
Modified: trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/.config
URL:
http://svn.slimdevices.com/trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/.config?rev=1459&root=Jive&r1=1458&r2=1459&view=diff
==============================================================================
--- trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/.config (original)
+++ trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/.config Wed Jan 16 03:01:18
2008
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.22-P7
-# Wed Nov 7 12:20:11 2007
+# Wed Jan 16 09:10:08 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -22,6 +22,7 @@
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ZONE_DMA=y
+CONFIG_FIQ=y
CONFIG_VECTORS_BASE=0xffff0000
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
Modified: trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/Kconfig
URL:
http://svn.slimdevices.com/trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/Kconfig?rev=1459&root=Jive&r1=1458&r2=1459&view=diff
==============================================================================
--- trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/Kconfig (original)
+++ trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/Kconfig Wed Jan 16
03:01:18 2008
@@ -679,6 +679,13 @@
default "2"
depends on NEED_MULTIPLE_NODES
+config FIQ
+ bool "FIQ handler support"
+ default n
+ help
+ Say Y to support adding FIQ handlers to the kernel, either by
+ inbuilt code or via external modules.
+
source "mm/Kconfig"
config LEDS
Modified:
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mach-s3c2412/Makefile
URL:
http://svn.slimdevices.com/trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mach-s3c2412/Makefile?rev=1459&root=Jive&r1=1458&r2=1459&view=diff
==============================================================================
---
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mach-s3c2412/Makefile
(original)
+++
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mach-s3c2412/Makefile
Wed Jan 16 03:01:18 2008
@@ -12,6 +12,7 @@
obj-$(CONFIG_CPU_S3C2412) += s3c2412.o
obj-$(CONFIG_CPU_S3C2412) += irq.o
obj-$(CONFIG_CPU_S3C2412) += clock.o
+obj-$(CONFIG_CPU_S3C2412) += gpio.o
obj-$(CONFIG_S3C2412_DMA) += dma.o
obj-$(CONFIG_S3C2412_PM) += pm.o sleep.o
Modified:
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mach-s3c2412/dma.c
URL:
http://svn.slimdevices.com/trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mach-s3c2412/dma.c?rev=1459&root=Jive&r1=1458&r2=1459&view=diff
==============================================================================
--- trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mach-s3c2412/dma.c
(original)
+++ trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mach-s3c2412/dma.c
Wed Jan 16 03:01:18 2008
@@ -39,106 +39,141 @@
[DMACH_XD0] = {
.name = "xdreq0",
.channels = MAP(S3C2412_DMAREQSEL_XDREQ0),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_XDREQ0),
},
[DMACH_XD1] = {
.name = "xdreq1",
.channels = MAP(S3C2412_DMAREQSEL_XDREQ1),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_XDREQ1),
},
[DMACH_SDI] = {
.name = "sdi",
.channels = MAP(S3C2412_DMAREQSEL_SDI),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_SDI),
.hw_addr.to = S3C2410_PA_SDI + S3C2410_SDIDATA,
.hw_addr.from = S3C2410_PA_SDI + S3C2410_SDIDATA,
},
[DMACH_SPI0] = {
.name = "spi0",
.channels = MAP(S3C2412_DMAREQSEL_SPI0TX),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_SPI0RX),
.hw_addr.to = S3C2410_PA_SPI + S3C2410_SPTDAT,
.hw_addr.from = S3C2410_PA_SPI + S3C2410_SPRDAT,
},
[DMACH_SPI1] = {
.name = "spi1",
.channels = MAP(S3C2412_DMAREQSEL_SPI1TX),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_SPI1RX),
.hw_addr.to = S3C2410_PA_SPI + S3C2412_SPI1 +
S3C2410_SPTDAT,
.hw_addr.from = S3C2410_PA_SPI + S3C2412_SPI1 +
S3C2410_SPRDAT,
},
[DMACH_UART0] = {
.name = "uart0",
.channels = MAP(S3C2412_DMAREQSEL_UART0_0),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_UART0_0),
.hw_addr.to = S3C2410_PA_UART0 + S3C2410_UTXH,
.hw_addr.from = S3C2410_PA_UART0 + S3C2410_URXH,
},
[DMACH_UART1] = {
.name = "uart1",
.channels = MAP(S3C2412_DMAREQSEL_UART1_0),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_UART1_0),
.hw_addr.to = S3C2410_PA_UART1 + S3C2410_UTXH,
.hw_addr.from = S3C2410_PA_UART1 + S3C2410_URXH,
},
[DMACH_UART2] = {
.name = "uart2",
.channels = MAP(S3C2412_DMAREQSEL_UART2_0),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_UART2_0),
.hw_addr.to = S3C2410_PA_UART2 + S3C2410_UTXH,
.hw_addr.from = S3C2410_PA_UART2 + S3C2410_URXH,
},
[DMACH_UART0_SRC2] = {
.name = "uart0",
.channels = MAP(S3C2412_DMAREQSEL_UART0_1),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_UART0_1),
.hw_addr.to = S3C2410_PA_UART0 + S3C2410_UTXH,
.hw_addr.from = S3C2410_PA_UART0 + S3C2410_URXH,
},
[DMACH_UART1_SRC2] = {
.name = "uart1",
.channels = MAP(S3C2412_DMAREQSEL_UART1_1),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_UART1_1),
.hw_addr.to = S3C2410_PA_UART1 + S3C2410_UTXH,
.hw_addr.from = S3C2410_PA_UART1 + S3C2410_URXH,
},
[DMACH_UART2_SRC2] = {
.name = "uart2",
.channels = MAP(S3C2412_DMAREQSEL_UART2_1),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_UART2_1),
.hw_addr.to = S3C2410_PA_UART2 + S3C2410_UTXH,
.hw_addr.from = S3C2410_PA_UART2 + S3C2410_URXH,
},
[DMACH_TIMER] = {
.name = "timer",
.channels = MAP(S3C2412_DMAREQSEL_TIMER),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_TIMER),
},
[DMACH_I2S_IN] = {
.name = "i2s-sdi",
.channels = MAP(S3C2412_DMAREQSEL_I2SRX),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_I2SRX),
.hw_addr.from = S3C2410_PA_IIS + S3C2412_IISRXD,
},
[DMACH_I2S_OUT] = {
.name = "i2s-sdo",
.channels = MAP(S3C2412_DMAREQSEL_I2STX),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_I2STX),
.hw_addr.to = S3C2410_PA_IIS + S3C2412_IISTXD,
},
[DMACH_USB_EP1] = {
.name = "usb-ep1",
.channels = MAP(S3C2412_DMAREQSEL_USBEP1),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_USBEP1),
},
[DMACH_USB_EP2] = {
.name = "usb-ep2",
.channels = MAP(S3C2412_DMAREQSEL_USBEP2),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_USBEP2),
},
[DMACH_USB_EP3] = {
.name = "usb-ep3",
.channels = MAP(S3C2412_DMAREQSEL_USBEP3),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_USBEP3),
},
[DMACH_USB_EP4] = {
.name = "usb-ep4",
.channels = MAP(S3C2412_DMAREQSEL_USBEP4),
+ .channels_rx = MAP(S3C2412_DMAREQSEL_USBEP4),
},
};
+
+static void s3c2412_dma_direction(struct s3c2410_dma_chan *chan,
+ struct s3c24xx_dma_map *map,
+ enum s3c2410_dmasrc dir)
+{
+ unsigned long chsel;
+
+ if (dir == S3C2410_DMASRC_HW)
+ chsel = map->channels_rx[0];
+ else
+ chsel = map->channels[0];
+
+ chsel &= ~DMA_CH_VALID;
+ chsel |= S3C2412_DMAREQSEL_HW;
+
+ writel(chsel, chan->regs + S3C2412_DMA_DMAREQSEL);
+}
static void s3c2412_dma_select(struct s3c2410_dma_chan *chan,
struct s3c24xx_dma_map *map)
{
- writel(map->channels[0] | S3C2412_DMAREQSEL_HW,
- chan->regs + S3C2412_DMA_DMAREQSEL);
+ s3c2412_dma_direction(chan, map, chan->source);
}
static struct s3c24xx_dma_selection __initdata s3c2412_dma_sel = {
.select = s3c2412_dma_select,
+ .direction = s3c2412_dma_direction,
.dcon_mask = 0,
.map = s3c2412_dma_mappings,
.map_size = ARRAY_SIZE(s3c2412_dma_mappings),
Added:
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mach-s3c2412/gpio.c
URL:
http://svn.slimdevices.com/trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mach-s3c2412/gpio.c?rev=1459&root=Jive&view=auto
==============================================================================
---
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mach-s3c2412/gpio.c
(added)
+++
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mach-s3c2412/gpio.c
Wed Jan 16 03:01:18 2008
@@ -1,0 +1,59 @@
+/* linux/arch/arm/mach-s3c2412/gpio.c
+ *
+ * Copyright (c) 2007 Simtec Electronics
+ * Ben Dooks <[EMAIL PROTECTED]>
+ *
+ * http://armlinux.simtec.co.uk/.
+ *
+ * S3C2412/S3C2413 specific GPIO support
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+#include <linux/kernel.h>
+#include <linux/types.h>
+#include <linux/interrupt.h>
+
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
+
+#include <asm/arch/regs-gpio.h>
+
+#include <asm/hardware.h>
+
+int s3c2412_gpio_set_sleepcfg(unsigned int pin, unsigned int state)
+{
+ void __iomem *base = S3C24XX_GPIO_BASE(pin);
+ unsigned long offs = S3C2410_GPIO_OFFSET(pin);
+ unsigned long flags;
+ unsigned long slpcon;
+
+ offs *= 2;
+
+ if (pin < S3C2410_GPIO_BANKB)
+ return -EINVAL;
+
+ if (pin >= S3C2410_GPIO_BANKF &&
+ pin <= S3C2410_GPIO_BANKG)
+ return -EINVAL;
+
+ if (pin > (S3C2410_GPIO_BANKH + 32))
+ return -EINVAL;
+
+ local_irq_save(flags);
+
+ slpcon = __raw_readl(base + 0x0C);
+
+ slpcon &= ~(3 << offs);
+ slpcon |= state << offs;
+
+ __raw_writel(slpcon, base + 0x0C);
+
+ local_irq_restore(flags);
+
+ return 0;
+}
+
+EXPORT_SYMBOL(s3c2412_gpio_set_sleepcfg);
Modified:
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mm/consistent.c
URL:
http://svn.slimdevices.com/trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mm/consistent.c?rev=1459&root=Jive&r1=1458&r2=1459&view=diff
==============================================================================
--- trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mm/consistent.c
(original)
+++ trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/mm/consistent.c
Wed Jan 16 03:01:18 2008
@@ -301,6 +301,14 @@
pgprot_writecombine(pgprot_kernel));
}
EXPORT_SYMBOL(dma_alloc_writecombine);
+
+void *
+dma_alloc_cached(struct device *dev, size_t size, dma_addr_t *handle, gfp_t
gfp)
+{
+ return __dma_alloc(dev, size, handle, gfp,
+ __pgprot(pgprot_val(pgprot_kernel) | L_PTE_CACHEABLE
| L_PTE_BUFFERABLE));
+}
+EXPORT_SYMBOL(dma_alloc_cached);
static int dma_mmap(struct device *dev, struct vm_area_struct *vma,
void *cpu_addr, dma_addr_t dma_addr, size_t size)
Modified:
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/plat-s3c24xx/dma.c
URL:
http://svn.slimdevices.com/trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/plat-s3c24xx/dma.c?rev=1459&root=Jive&r1=1458&r2=1459&view=diff
==============================================================================
--- trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/plat-s3c24xx/dma.c
(original)
+++ trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/arch/arm/plat-s3c24xx/dma.c
Wed Jan 16 03:01:18 2008
@@ -525,7 +525,8 @@
}
} else if (chan->state == S3C2410_DMA_IDLE) {
if (chan->flags & S3C2410_DMAF_AUTOSTART) {
- s3c2410_dma_ctrl(chan->number, S3C2410_DMAOP_START);
+ s3c2410_dma_ctrl(chan->number | DMACH_LOW_LEVEL,
+ S3C2410_DMAOP_START);
}
}
@@ -787,7 +788,7 @@
pr_debug("%s: channel initialised, %p\n", __FUNCTION__, chan);
- return 0;
+ return chan->number | DMACH_LOW_LEVEL;
}
EXPORT_SYMBOL(s3c2410_dma_request);
@@ -1185,7 +1186,7 @@
dma_wrreg(chan, S3C2410_DMA_DIDSTC, (0<<1) | (0<<0));
chan->addr_reg = dma_regaddr(chan, S3C2410_DMA_DIDST);
- return 0;
+ break;
case S3C2410_DMASRC_MEM:
/* source is memory */
@@ -1196,11 +1197,19 @@
dma_wrreg(chan, S3C2410_DMA_DIDSTC, hwcfg & 3);
chan->addr_reg = dma_regaddr(chan, S3C2410_DMA_DISRC);
- return 0;
- }
-
- printk(KERN_ERR "dma%d: invalid source type (%d)\n", channel, source);
- return -EINVAL;
+ break;
+
+ default:
+ printk(KERN_ERR "dma%d: invalid source type (%d)\n",
+ channel, source);
+
+ return -EINVAL;
+ }
+
+ if (dma_sel.direction != NULL)
+ (dma_sel.direction)(chan, chan->map, source);
+
+ return 0;
}
EXPORT_SYMBOL(s3c2410_dma_devconfig);
Modified:
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/drivers/mmc/host/s3cmci.c
URL:
http://svn.slimdevices.com/trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/drivers/mmc/host/s3cmci.c?rev=1459&root=Jive&r1=1458&r2=1459&view=diff
==============================================================================
--- trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/drivers/mmc/host/s3cmci.c
(original)
+++ trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/drivers/mmc/host/s3cmci.c
Wed Jan 16 03:01:18 2008
@@ -1217,7 +1217,7 @@
s3c2410_gpio_cfgpin(host->pdata->gpio_wprotect,
S3C2410_GPIO_INPUT);
- if (s3c2410_dma_request(S3CMCI_DMA, &s3cmci_dma_client, NULL)) {
+ if (s3c2410_dma_request(S3CMCI_DMA, &s3cmci_dma_client, NULL) < 0) {
dev_err(&pdev->dev, "unable to get DMA channel.\n");
ret = -EBUSY;
goto probe_free_irq_cd;
Modified:
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/drivers/mtd/maps/plat-ram.c
URL:
http://svn.slimdevices.com/trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/drivers/mtd/maps/plat-ram.c?rev=1459&root=Jive&r1=1458&r2=1459&view=diff
==============================================================================
--- trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/drivers/mtd/maps/plat-ram.c
(original)
+++ trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/drivers/mtd/maps/plat-ram.c
Wed Jan 16 03:01:18 2008
@@ -273,7 +273,8 @@
platform_driver_unregister(&platram_driver);
}
-module_init(platram_init);
+//module_init(platram_init);
+late_initcall(platram_init);
module_exit(platram_exit);
MODULE_LICENSE("GPL");
Modified:
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/drivers/video/s3c2410fb.c
URL:
http://svn.slimdevices.com/trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/drivers/video/s3c2410fb.c?rev=1459&root=Jive&r1=1458&r2=1459&view=diff
==============================================================================
--- trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/drivers/video/s3c2410fb.c
(original)
+++ trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/drivers/video/s3c2410fb.c
Wed Jan 16 03:01:18 2008
@@ -723,8 +723,8 @@
dprintk("map_video_memory(fbi=%p) map_size %u\n", fbi, map_size);
- info->screen_base = dma_alloc_writecombine(fbi->dev, map_size,
- &map_dma, GFP_KERNEL);
+ info->screen_base = dma_alloc_cached(fbi->dev, map_size,
+ &map_dma, GFP_KERNEL);
if (info->screen_base) {
/* prevent initial garbage on screen */
Modified:
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/hardware.h
URL:
http://svn.slimdevices.com/trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/hardware.h?rev=1459&root=Jive&r1=1458&r2=1459&view=diff
==============================================================================
---
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/hardware.h
(original)
+++
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/hardware.h
Wed Jan 16 03:01:18 2008
@@ -122,6 +122,11 @@
#endif /* CONFIG_CPU_S3C2440 */
+#ifdef CONFIG_CPU_S3C2412
+
+extern int s3c2412_gpio_set_sleepcfg(unsigned int pin, unsigned int state);
+
+#endif /* CONFIG_CPU_S3C2412 */
#endif /* __ASSEMBLY__ */
Modified:
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/irqs.h
URL:
http://svn.slimdevices.com/trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/irqs.h?rev=1459&root=Jive&r1=1458&r2=1459&view=diff
==============================================================================
---
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/irqs.h
(original)
+++
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/irqs.h
Wed Jan 16 03:01:18 2008
@@ -160,4 +160,7 @@
#define NR_IRQS (IRQ_S3C2440_AC97+1)
#endif
+/* Our FIQs are routable from IRQ_EINT0 to IRQ_ADCPARENT */
+#define FIQ_START IRQ_EINT0
+
#endif /* __ASM_ARCH_IRQ_H */
Modified:
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/regs-gpio.h
URL:
http://svn.slimdevices.com/trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/regs-gpio.h?rev=1459&root=Jive&r1=1458&r2=1459&view=diff
==============================================================================
---
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/regs-gpio.h
(original)
+++
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/regs-gpio.h
Wed Jan 16 03:01:18 2008
@@ -1139,6 +1139,11 @@
#define S3C2412_GPHSLPCON S3C2410_GPIOREG(0x7C)
/* definitions for each pin bit */
+#define S3C2412_GPIO_SLPCON_LOW ( 0x00 )
+#define S3C2412_GPIO_SLPCON_HIGH ( 0x01 )
+#define S3C2412_GPIO_SLPCON_IN ( 0x02 )
+#define S3C2412_GPIO_SLPCON_PULL ( 0x03 )
+
#define S3C2412_SLPCON_LOW(x) ( 0x00 << ((x) * 2))
#define S3C2412_SLPCON_HIGH(x) ( 0x01 << ((x) * 2))
#define S3C2412_SLPCON_IN(x) ( 0x02 << ((x) * 2))
Modified:
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/regs-spi.h
URL:
http://svn.slimdevices.com/trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/regs-spi.h?rev=1459&root=Jive&r1=1458&r2=1459&view=diff
==============================================================================
---
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/regs-spi.h
(original)
+++
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/arch-s3c2410/regs-spi.h
Wed Jan 16 03:01:18 2008
@@ -17,7 +17,21 @@
#define S3C2410_SPCON (0x00)
+#define S3C2412_SPCON_RXFIFO_RB2 (0<<14)
+#define S3C2412_SPCON_RXFIFO_RB4 (1<<14)
+#define S3C2412_SPCON_RXFIFO_RB12 (2<<14)
+#define S3C2412_SPCON_RXFIFO_RB14 (3<<14)
+#define S3C2412_SPCON_TXFIFO_RB2 (0<<12)
+#define S3C2412_SPCON_TXFIFO_RB4 (1<<12)
+#define S3C2412_SPCON_TXFIFO_RB12 (2<<12)
+#define S3C2412_SPCON_TXFIFO_RB14 (3<<12)
+#define S3C2412_SPCON_RXFIFO_RESET (1<<11) /* RxFIFO reset */
+#define S3C2412_SPCON_TXFIFO_RESET (1<<10) /* TxFIFO reset */
+#define S3C2412_SPCON_RXFIFO_EN (1<<9) /* RxFIFO Enable */
+#define S3C2412_SPCON_TXFIFO_EN (1<<8) /* TxFIFO Enable */
+
#define S3C2412_SPCON_DIRC_RX (1<<7)
+
#define S3C2410_SPCON_SMOD_DMA (2<<5) /* DMA mode */
#define S3C2410_SPCON_SMOD_INT (1<<5) /* interrupt mode */
#define S3C2410_SPCON_SMOD_POLL (0<<5) /* polling mode */
@@ -34,6 +48,15 @@
#define S3C2410_SPSTA (0x04)
+
+#define S3C2412_SPSTA_RXFIFO_AE (1<<11)
+#define S3C2412_SPSTA_TXFIFO_AE (1<<10)
+#define S3C2412_SPSTA_RXFIFO_ERROR (1<<9)
+#define S3C2412_SPSTA_TXFIFO_ERROR (1<<8)
+#define S3C2412_SPSTA_RXFIFO_FIFO (1<<7)
+#define S3C2412_SPSTA_RXFIFO_EMPTY (1<<6)
+#define S3C2412_SPSTA_TXFIFO_NFULL (1<<5)
+#define S3C2412_SPSTA_TXFIFO_EMPTY (1<<4)
#define S3C2410_SPSTA_DCOL (1<<2) /* Data Collision Error */
#define S3C2410_SPSTA_MULD (1<<1) /* Multi Master Error */
Modified:
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/dma-mapping.h
URL:
http://svn.slimdevices.com/trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/dma-mapping.h?rev=1459&root=Jive&r1=1458&r2=1459&view=diff
==============================================================================
---
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/dma-mapping.h
(original)
+++
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/dma-mapping.h
Wed Jan 16 03:01:18 2008
@@ -137,6 +137,9 @@
*/
extern void *
dma_alloc_writecombine(struct device *dev, size_t size, dma_addr_t *handle,
gfp_t gfp);
+
+extern void *
+dma_alloc_cached(struct device *dev, size_t size, dma_addr_t *handle, gfp_t
gfp);
#define dma_free_writecombine(dev,size,cpu_addr,handle) \
dma_free_coherent(dev,size,cpu_addr,handle)
Modified:
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/plat-s3c24xx/dma.h
URL:
http://svn.slimdevices.com/trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/plat-s3c24xx/dma.h?rev=1459&root=Jive&r1=1458&r2=1459&view=diff
==============================================================================
---
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/plat-s3c24xx/dma.h
(original)
+++
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/include/asm-arm/plat-s3c24xx/dma.h
Wed Jan 16 03:01:18 2008
@@ -32,6 +32,7 @@
struct s3c24xx_dma_addr hw_addr;
unsigned long channels[S3C2410_DMA_CHANNELS];
+ unsigned long channels_rx[S3C2410_DMA_CHANNELS];
};
struct s3c24xx_dma_selection {
@@ -41,6 +42,10 @@
void (*select)(struct s3c2410_dma_chan *chan,
struct s3c24xx_dma_map *map);
+
+ void (*direction)(struct s3c2410_dma_chan *chan,
+ struct s3c24xx_dma_map *map,
+ enum s3c2410_dmasrc dir);
};
extern int s3c24xx_dma_init_map(struct s3c24xx_dma_selection *sel);
Modified:
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/sound/soc/s3c24xx/s3c24xx-pcm.c
URL:
http://svn.slimdevices.com/trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/sound/soc/s3c24xx/s3c24xx-pcm.c?rev=1459&root=Jive&r1=1458&r2=1459&view=diff
==============================================================================
---
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/sound/soc/s3c24xx/s3c24xx-pcm.c
(original)
+++
trunk/squeezeboxJive/src/kernel-P7/linux-2.6.22/sound/soc/s3c24xx/s3c24xx-pcm.c
Wed Jan 16 03:01:18 2008
@@ -170,7 +170,7 @@
ret = s3c2410_dma_request(prtd->params->channel,
prtd->params->client, NULL);
- if (ret) {
+ if (ret < 0) {
DBG(KERN_ERR "failed to get dma channel\n");
return ret;
}
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins