ARM: Merge next-s3c24xx-simtec
Merge branch 'next-s3c24xx-simtec' into for-rmk
This commit is contained in:
@@ -55,4 +55,4 @@ Maintainers
|
|||||||
This board is maintained by Simtec Electronics.
|
This board is maintained by Simtec Electronics.
|
||||||
|
|
||||||
|
|
||||||
(c) 2004 Ben Dooks, Simtec Electronics
|
Copyright 2004 Ben Dooks, Simtec Electronics
|
||||||
|
@@ -134,4 +134,4 @@ Authour
|
|||||||
|
|
||||||
|
|
||||||
Ben Dooks, 03 October 2004
|
Ben Dooks, 03 October 2004
|
||||||
(c) 2004 Ben Dooks, Simtec Electronics
|
Copyright 2004 Ben Dooks, Simtec Electronics
|
||||||
|
@@ -299,4 +299,4 @@ Port Contributors
|
|||||||
Document Author
|
Document Author
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Ben Dooks, (c) 2004-2005,2006 Simtec Electronics
|
Ben Dooks, Copyright 2004-2006 Simtec Electronics
|
||||||
|
@@ -117,4 +117,4 @@ ATA
|
|||||||
Document Author
|
Document Author
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Ben Dooks, (c) 2006 Simtec Electronics
|
Ben Dooks, Copyright 2006 Simtec Electronics
|
||||||
|
@@ -18,4 +18,4 @@ Camera Interface
|
|||||||
Document Author
|
Document Author
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Ben Dooks, (c) 2006 Simtec Electronics
|
Ben Dooks, Copyright 2006 Simtec Electronics
|
||||||
|
@@ -133,5 +133,5 @@ Configuration
|
|||||||
Document Author
|
Document Author
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Ben Dooks, (c) 2004 Simtec Electronics
|
Ben Dooks, Copyright 2004 Simtec Electronics
|
||||||
|
|
||||||
|
@@ -90,4 +90,4 @@ Platform Data
|
|||||||
Document Author
|
Document Author
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Ben Dooks, (c) 2005 Simtec Electronics
|
Ben Dooks, Copyright 2005 Simtec Electronics
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* arch/arm/mach-s3c2400/include/mach/map.h
|
/* arch/arm/mach-s3c2400/include/mach/map.h
|
||||||
*
|
*
|
||||||
* Copyright 2003,2007 Simtec Electronics
|
* Copyright 2003-2007 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/mach-s3c2410/bast-irq.c
|
/* linux/arch/arm/mach-s3c2410/bast-irq.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003,2005 Simtec Electronics
|
* Copyright 2003-2005 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* http://www.simtec.co.uk/products/EB2410ITX/
|
* http://www.simtec.co.uk/products/EB2410ITX/
|
||||||
@@ -141,7 +141,7 @@ static __init int bast_irq_init(void)
|
|||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
if (machine_is_bast()) {
|
if (machine_is_bast()) {
|
||||||
printk(KERN_INFO "BAST PC104 IRQ routing, (c) 2005 Simtec Electronics\n");
|
printk(KERN_INFO "BAST PC104 IRQ routing, Copyright 2005 Simtec Electronics\n");
|
||||||
|
|
||||||
/* zap all the IRQs */
|
/* zap all the IRQs */
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/mach-s3c2410/cpu-freq.c
|
/* linux/arch/arm/mach-s3c2410/cpu-freq.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006,2008 Simtec Electronics
|
* Copyright (c) 2006-2008 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* arch/arm/mach-s3c2410/include/mach/bast-cpld.h
|
/* arch/arm/mach-s3c2410/include/mach/bast-cpld.h
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003,2004 Simtec Electronics
|
* Copyright (c) 2003-2004 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* BAST - CPLD control constants
|
* BAST - CPLD control constants
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* arch/arm/mach-s3c2410/include/mach/bast-irq.h
|
/* arch/arm/mach-s3c2410/include/mach/bast-irq.h
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003,2004 Simtec Electronics
|
* Copyright (c) 2003-2004 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* Machine BAST - IRQ Number definitions
|
* Machine BAST - IRQ Number definitions
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* arch/arm/mach-s3c2410/include/mach/bast-map.h
|
/* arch/arm/mach-s3c2410/include/mach/bast-map.h
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003,2004 Simtec Electronics
|
* Copyright (c) 2003-2004 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* Machine BAST - Memory map definitions
|
* Machine BAST - Memory map definitions
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* arch/arm/mach-s3c2410/include/mach/bast-pmu.h
|
/* arch/arm/mach-s3c2410/include/mach/bast-pmu.h
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003,2004 Simtec Electronics
|
* Copyright (c) 2003-2004 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
* Vincent Sanders <vince@simtec.co.uk>
|
* Vincent Sanders <vince@simtec.co.uk>
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* arch/arm/mach-s3c2410/include/mach/dma.h
|
/* arch/arm/mach-s3c2410/include/mach/dma.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003,2004,2006 Simtec Electronics
|
* Copyright (C) 2003-2006 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* Samsung S3C24XX DMA support
|
* Samsung S3C24XX DMA support
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* arch/arm/mach-s3c2410/include/mach/gpio-fns.h
|
/* arch/arm/mach-s3c2410/include/mach/gpio-fns.h
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003,2009 Simtec Electronics
|
* Copyright (c) 2003-2009 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* S3C2410 - hardware
|
* S3C2410 - hardware
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* arch/arm/mach-s3c2410/include/mach/osiris-map.h
|
/* arch/arm/mach-s3c2410/include/mach/osiris-map.h
|
||||||
*
|
*
|
||||||
* (c) 2005 Simtec Electronics
|
* Copyright 2005 Simtec Electronics
|
||||||
* http://www.simtec.co.uk/products/
|
* http://www.simtec.co.uk/products/
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
/* arch/arm/mach-s3c2410/include/mach/regs-clock.h
|
/* arch/arm/mach-s3c2410/include/mach/regs-clock.h
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003,2004,2005,2006 Simtec Electronics <linux@simtec.co.uk>
|
* Copyright (c) 2003-2006 Simtec Electronics <linux@simtec.co.uk>
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
/* arch/arm/mach-s3c2410/include/mach/regs-gpio.h
|
/* arch/arm/mach-s3c2410/include/mach/regs-gpio.h
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003,2004 Simtec Electronics <linux@simtec.co.uk>
|
* Copyright (c) 2003-2004 Simtec Electronics <linux@simtec.co.uk>
|
||||||
* http://www.simtec.co.uk/products/SWLINUX/
|
* http://www.simtec.co.uk/products/SWLINUX/
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
/* arch/arm/mach-s3c2410/include/mach/regs-power.h
|
/* arch/arm/mach-s3c2410/include/mach/regs-power.h
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003,2004,2005,2006 Simtec Electronics <linux@simtec.co.uk>
|
* Copyright (c) 2003-2006 Simtec Electronics <linux@simtec.co.uk>
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
|
|
||||||
/* arch/arm/mach-s3c2410/include/mach/uncompress.h
|
/* arch/arm/mach-s3c2410/include/mach/uncompress.h
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003, 2007 Simtec Electronics
|
* Copyright (c) 2003-2007 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* arch/arm/mach-s3c2410/include/mach/vr1000-irq.h
|
/* arch/arm/mach-s3c2410/include/mach/vr1000-irq.h
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003,2004 Simtec Electronics
|
* Copyright (c) 2003-2004 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* Machine VR1000 - IRQ Number definitions
|
* Machine VR1000 - IRQ Number definitions
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/mach-s3c2410/mach-bast.c
|
/* linux/arch/arm/mach-s3c2410/mach-bast.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003-2005,2008 Simtec Electronics
|
* Copyright 2003-2008 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* http://www.simtec.co.uk/products/EB2410ITX/
|
* http://www.simtec.co.uk/products/EB2410ITX/
|
||||||
@@ -61,11 +61,12 @@
|
|||||||
#include <plat/devs.h>
|
#include <plat/devs.h>
|
||||||
#include <plat/cpu.h>
|
#include <plat/cpu.h>
|
||||||
#include <plat/cpu-freq.h>
|
#include <plat/cpu-freq.h>
|
||||||
|
#include <plat/audio-simtec.h>
|
||||||
|
|
||||||
#include "usb-simtec.h"
|
#include "usb-simtec.h"
|
||||||
#include "nor-simtec.h"
|
#include "nor-simtec.h"
|
||||||
|
|
||||||
#define COPYRIGHT ", (c) 2004-2005 Simtec Electronics"
|
#define COPYRIGHT ", Copyright 2004-2008 Simtec Electronics"
|
||||||
|
|
||||||
/* macros for virtual address mods for the io space entries */
|
/* macros for virtual address mods for the io space entries */
|
||||||
#define VA_C5(item) ((unsigned long)(item) + BAST_VAM_CS5)
|
#define VA_C5(item) ((unsigned long)(item) + BAST_VAM_CS5)
|
||||||
@@ -608,6 +609,11 @@ static struct s3c_cpufreq_board __initdata bast_cpufreq = {
|
|||||||
.need_io = 1,
|
.need_io = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct s3c24xx_audio_simtec_pdata __initdata bast_audio = {
|
||||||
|
.have_mic = 1,
|
||||||
|
.have_lout = 1,
|
||||||
|
};
|
||||||
|
|
||||||
static void __init bast_map_io(void)
|
static void __init bast_map_io(void)
|
||||||
{
|
{
|
||||||
/* initialise the clocks */
|
/* initialise the clocks */
|
||||||
@@ -647,6 +653,7 @@ static void __init bast_init(void)
|
|||||||
|
|
||||||
usb_simtec_init();
|
usb_simtec_init();
|
||||||
nor_simtec_init();
|
nor_simtec_init();
|
||||||
|
simtec_audio_add(NULL, true, &bast_audio);
|
||||||
|
|
||||||
s3c_cpufreq_setboard(&bast_cpufreq);
|
s3c_cpufreq_setboard(&bast_cpufreq);
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/mach-s3c2410/mach-vr1000.c
|
/* linux/arch/arm/mach-s3c2410/mach-vr1000.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003-2005,2008 Simtec Electronics
|
* Copyright (c) 2003-2008 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* Machine support for Thorcom VR1000 board. Designed for Thorcom by
|
* Machine support for Thorcom VR1000 board. Designed for Thorcom by
|
||||||
@@ -49,6 +49,7 @@
|
|||||||
#include <plat/devs.h>
|
#include <plat/devs.h>
|
||||||
#include <plat/cpu.h>
|
#include <plat/cpu.h>
|
||||||
#include <plat/iic.h>
|
#include <plat/iic.h>
|
||||||
|
#include <plat/audio-simtec.h>
|
||||||
|
|
||||||
#include "usb-simtec.h"
|
#include "usb-simtec.h"
|
||||||
#include "nor-simtec.h"
|
#include "nor-simtec.h"
|
||||||
@@ -393,6 +394,7 @@ static void __init vr1000_init(void)
|
|||||||
ARRAY_SIZE(vr1000_i2c_devs));
|
ARRAY_SIZE(vr1000_i2c_devs));
|
||||||
|
|
||||||
nor_simtec_init();
|
nor_simtec_init();
|
||||||
|
simtec_audio_add(NULL, true, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
MACHINE_START(VR1000, "Thorcom-VR1000")
|
MACHINE_START(VR1000, "Thorcom-VR1000")
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* arch/arm/mach-s3c2410/pll.c
|
/* arch/arm/mach-s3c2410/pll.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006,2007 Simtec Electronics
|
* Copyright (c) 2006-2007 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
* Vincent Sanders <vince@arm.linux.org.uk>
|
* Vincent Sanders <vince@arm.linux.org.uk>
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/mach-s3c2410/usb-simtec.c
|
/* linux/arch/arm/mach-s3c2410/usb-simtec.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2004,2005 Simtec Electronics
|
* Copyright 2004-2005 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* http://www.simtec.co.uk/products/EB2410ITX/
|
* http://www.simtec.co.uk/products/EB2410ITX/
|
||||||
@@ -108,7 +108,7 @@ int usb_simtec_init(void)
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
printk("USB Power Control, (c) 2004 Simtec Electronics\n");
|
printk("USB Power Control, Copyright 2004 Simtec Electronics\n");
|
||||||
|
|
||||||
ret = gpio_request(S3C2410_GPB(4), "USB power control");
|
ret = gpio_request(S3C2410_GPB(4), "USB power control");
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
@@ -53,6 +53,19 @@ config MACH_OSIRIS
|
|||||||
Say Y here if you are using the Simtec IM2440D20 module, also
|
Say Y here if you are using the Simtec IM2440D20 module, also
|
||||||
known as the Osiris.
|
known as the Osiris.
|
||||||
|
|
||||||
|
config MACH_OSIRIS_DVS
|
||||||
|
tristate "Simtec IM2440D20 (OSIRIS) Dynamic Voltage Scaling driver"
|
||||||
|
depends on MACH_OSIRIS
|
||||||
|
select TPS65010
|
||||||
|
help
|
||||||
|
Say Y/M here if you want to have dynamic voltage scaling support
|
||||||
|
on the Simtec IM2440D20 (OSIRIS) module via the TPS65011.
|
||||||
|
|
||||||
|
The DVS driver alters the voltage supplied to the ARM core
|
||||||
|
depending on the frequency it is running at. The driver itself
|
||||||
|
does not do any of the frequency alteration, which is left up
|
||||||
|
to the cpufreq driver.
|
||||||
|
|
||||||
config MACH_RX3715
|
config MACH_RX3715
|
||||||
bool "HP iPAQ rx3715"
|
bool "HP iPAQ rx3715"
|
||||||
select CPU_S3C2440
|
select CPU_S3C2440
|
||||||
|
@@ -23,3 +23,7 @@ obj-$(CONFIG_ARCH_S3C2440) += mach-smdk2440.o
|
|||||||
obj-$(CONFIG_MACH_NEXCODER_2440) += mach-nexcoder.o
|
obj-$(CONFIG_MACH_NEXCODER_2440) += mach-nexcoder.o
|
||||||
obj-$(CONFIG_MACH_AT2440EVB) += mach-at2440evb.o
|
obj-$(CONFIG_MACH_AT2440EVB) += mach-at2440evb.o
|
||||||
obj-$(CONFIG_MACH_MINI2440) += mach-mini2440.o
|
obj-$(CONFIG_MACH_MINI2440) += mach-mini2440.o
|
||||||
|
|
||||||
|
# extra machine support
|
||||||
|
|
||||||
|
obj-$(CONFIG_MACH_OSIRIS_DVS) += mach-osiris-dvs.o
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/mach-s3c2440/irq.c
|
/* linux/arch/arm/mach-s3c2440/irq.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003,2004 Simtec Electronics
|
* Copyright (c) 2003-2004 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/mach-s3c2440/mach-anubis.c
|
/* linux/arch/arm/mach-s3c2440/mach-anubis.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003-2005,2008 Simtec Electronics
|
* Copyright 2003-2009 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
@@ -53,8 +53,9 @@
|
|||||||
#include <plat/clock.h>
|
#include <plat/clock.h>
|
||||||
#include <plat/devs.h>
|
#include <plat/devs.h>
|
||||||
#include <plat/cpu.h>
|
#include <plat/cpu.h>
|
||||||
|
#include <plat/audio-simtec.h>
|
||||||
|
|
||||||
#define COPYRIGHT ", (c) 2005 Simtec Electronics"
|
#define COPYRIGHT ", Copyright 2005-2009 Simtec Electronics"
|
||||||
|
|
||||||
static struct map_desc anubis_iodesc[] __initdata = {
|
static struct map_desc anubis_iodesc[] __initdata = {
|
||||||
/* ISA IO areas */
|
/* ISA IO areas */
|
||||||
@@ -437,6 +438,17 @@ static struct i2c_board_info anubis_i2c_devs[] __initdata = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Audio setup */
|
||||||
|
static struct s3c24xx_audio_simtec_pdata __initdata anubis_audio = {
|
||||||
|
.have_mic = 1,
|
||||||
|
.have_lout = 1,
|
||||||
|
.output_cdclk = 1,
|
||||||
|
.use_mpllin = 1,
|
||||||
|
.amp_gpio = S3C2410_GPB(2),
|
||||||
|
.amp_gain[0] = S3C2410_GPD(10),
|
||||||
|
.amp_gain[1] = S3C2410_GPD(11),
|
||||||
|
};
|
||||||
|
|
||||||
static void __init anubis_map_io(void)
|
static void __init anubis_map_io(void)
|
||||||
{
|
{
|
||||||
/* initialise the clocks */
|
/* initialise the clocks */
|
||||||
@@ -476,6 +488,7 @@ static void __init anubis_map_io(void)
|
|||||||
static void __init anubis_init(void)
|
static void __init anubis_init(void)
|
||||||
{
|
{
|
||||||
s3c_i2c0_set_platdata(NULL);
|
s3c_i2c0_set_platdata(NULL);
|
||||||
|
simtec_audio_add(NULL, false, &anubis_audio);
|
||||||
platform_add_devices(anubis_devices, ARRAY_SIZE(anubis_devices));
|
platform_add_devices(anubis_devices, ARRAY_SIZE(anubis_devices));
|
||||||
|
|
||||||
i2c_register_board_info(0, anubis_i2c_devs,
|
i2c_register_board_info(0, anubis_i2c_devs,
|
||||||
|
194
arch/arm/mach-s3c2440/mach-osiris-dvs.c
Normal file
194
arch/arm/mach-s3c2440/mach-osiris-dvs.c
Normal file
@@ -0,0 +1,194 @@
|
|||||||
|
/* linux/arch/arm/mach-s3c2440/mach-osiris-dvs.c
|
||||||
|
*
|
||||||
|
* Copyright (c) 2009 Simtec Electronics
|
||||||
|
* http://armlinux.simtec.co.uk/
|
||||||
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
|
*
|
||||||
|
* Simtec Osiris Dynamic Voltage Scaling 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/module.h>
|
||||||
|
#include <linux/platform_device.h>
|
||||||
|
#include <linux/cpufreq.h>
|
||||||
|
#include <linux/gpio.h>
|
||||||
|
|
||||||
|
#include <linux/i2c/tps65010.h>
|
||||||
|
|
||||||
|
#include <plat/cpu-freq.h>
|
||||||
|
|
||||||
|
#define OSIRIS_GPIO_DVS S3C2410_GPB(5)
|
||||||
|
|
||||||
|
static bool dvs_en;
|
||||||
|
|
||||||
|
static void osiris_dvs_tps_setdvs(bool on)
|
||||||
|
{
|
||||||
|
unsigned vregs1 = 0, vdcdc2 = 0;
|
||||||
|
|
||||||
|
if (!on) {
|
||||||
|
vdcdc2 = TPS_VCORE_DISCH | TPS_LP_COREOFF;
|
||||||
|
vregs1 = TPS_LDO1_OFF; /* turn off in low-power mode */
|
||||||
|
}
|
||||||
|
|
||||||
|
dvs_en = on;
|
||||||
|
vdcdc2 |= TPS_VCORE_1_3V | TPS_VCORE_LP_1_0V;
|
||||||
|
vregs1 |= TPS_LDO2_ENABLE | TPS_LDO1_ENABLE;
|
||||||
|
|
||||||
|
tps65010_config_vregs1(vregs1);
|
||||||
|
tps65010_config_vdcdc2(vdcdc2);
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool is_dvs(struct s3c_freq *f)
|
||||||
|
{
|
||||||
|
/* at the moment, we assume ARMCLK = HCLK => DVS */
|
||||||
|
return f->armclk == f->hclk;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* keep track of current state */
|
||||||
|
static bool cur_dvs = false;
|
||||||
|
|
||||||
|
static int osiris_dvs_notify(struct notifier_block *nb,
|
||||||
|
unsigned long val, void *data)
|
||||||
|
{
|
||||||
|
struct cpufreq_freqs *cf = data;
|
||||||
|
struct s3c_cpufreq_freqs *freqs = to_s3c_cpufreq(cf);
|
||||||
|
bool old_dvs = is_dvs(&freqs->old);
|
||||||
|
bool new_dvs = is_dvs(&freqs->new);
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
|
if (!dvs_en)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
printk(KERN_DEBUG "%s: old %ld,%ld new %ld,%ld\n", __func__,
|
||||||
|
freqs->old.armclk, freqs->old.hclk,
|
||||||
|
freqs->new.armclk, freqs->new.hclk);
|
||||||
|
|
||||||
|
switch (val) {
|
||||||
|
case CPUFREQ_PRECHANGE:
|
||||||
|
if (old_dvs & !new_dvs ||
|
||||||
|
cur_dvs & !new_dvs) {
|
||||||
|
pr_debug("%s: exiting dvs\n", __func__);
|
||||||
|
cur_dvs = false;
|
||||||
|
gpio_set_value(OSIRIS_GPIO_DVS, 1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case CPUFREQ_POSTCHANGE:
|
||||||
|
if (!old_dvs & new_dvs ||
|
||||||
|
!cur_dvs & new_dvs) {
|
||||||
|
pr_debug("entering dvs\n");
|
||||||
|
cur_dvs = true;
|
||||||
|
gpio_set_value(OSIRIS_GPIO_DVS, 0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct notifier_block osiris_dvs_nb = {
|
||||||
|
.notifier_call = osiris_dvs_notify,
|
||||||
|
};
|
||||||
|
|
||||||
|
static int __devinit osiris_dvs_probe(struct platform_device *pdev)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
dev_info(&pdev->dev, "initialising\n");
|
||||||
|
|
||||||
|
ret = gpio_request(OSIRIS_GPIO_DVS, "osiris-dvs");
|
||||||
|
if (ret) {
|
||||||
|
dev_err(&pdev->dev, "cannot claim gpio\n");
|
||||||
|
goto err_nogpio;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* start with dvs disabled */
|
||||||
|
gpio_direction_output(OSIRIS_GPIO_DVS, 1);
|
||||||
|
|
||||||
|
ret = cpufreq_register_notifier(&osiris_dvs_nb,
|
||||||
|
CPUFREQ_TRANSITION_NOTIFIER);
|
||||||
|
if (ret) {
|
||||||
|
dev_err(&pdev->dev, "failed to register with cpufreq\n");
|
||||||
|
goto err_nofreq;
|
||||||
|
}
|
||||||
|
|
||||||
|
osiris_dvs_tps_setdvs(true);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
err_nofreq:
|
||||||
|
gpio_free(OSIRIS_GPIO_DVS);
|
||||||
|
|
||||||
|
err_nogpio:
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int __devexit osiris_dvs_remove(struct platform_device *pdev)
|
||||||
|
{
|
||||||
|
dev_info(&pdev->dev, "exiting\n");
|
||||||
|
|
||||||
|
/* disable any current dvs */
|
||||||
|
gpio_set_value(OSIRIS_GPIO_DVS, 1);
|
||||||
|
osiris_dvs_tps_setdvs(false);
|
||||||
|
|
||||||
|
cpufreq_unregister_notifier(&osiris_dvs_nb,
|
||||||
|
CPUFREQ_TRANSITION_NOTIFIER);
|
||||||
|
|
||||||
|
gpio_free(OSIRIS_GPIO_DVS);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* the CONFIG_PM block is so small, it isn't worth actaully compiling it
|
||||||
|
* out if the configuration isn't set. */
|
||||||
|
|
||||||
|
static int osiris_dvs_suspend(struct device *dev)
|
||||||
|
{
|
||||||
|
gpio_set_value(OSIRIS_GPIO_DVS, 1);
|
||||||
|
osiris_dvs_tps_setdvs(false);
|
||||||
|
cur_dvs = false;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int osiris_dvs_resume(struct device *dev)
|
||||||
|
{
|
||||||
|
osiris_dvs_tps_setdvs(true);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const struct dev_pm_ops osiris_dvs_pm = {
|
||||||
|
.suspend = osiris_dvs_suspend,
|
||||||
|
.resume = osiris_dvs_resume,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_driver osiris_dvs_driver = {
|
||||||
|
.probe = osiris_dvs_probe,
|
||||||
|
.remove = __devexit_p(osiris_dvs_remove),
|
||||||
|
.driver = {
|
||||||
|
.name = "osiris-dvs",
|
||||||
|
.owner = THIS_MODULE,
|
||||||
|
.pm = &osiris_dvs_pm,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static int __init osiris_dvs_init(void)
|
||||||
|
{
|
||||||
|
return platform_driver_register(&osiris_dvs_driver);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void __exit osiris_dvs_exit(void)
|
||||||
|
{
|
||||||
|
platform_driver_unregister(&osiris_dvs_driver);
|
||||||
|
}
|
||||||
|
|
||||||
|
module_init(osiris_dvs_init);
|
||||||
|
module_exit(osiris_dvs_exit);
|
||||||
|
|
||||||
|
MODULE_DESCRIPTION("Simtec OSIRIS DVS support");
|
||||||
|
MODULE_AUTHOR("Ben Dooks <ben@simtec.co.uk>");
|
||||||
|
MODULE_LICENSE("GPL");
|
||||||
|
MODULE_ALIAS("platform:osiris-dvs");
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/mach-s3c2440/mach-osiris.c
|
/* linux/arch/arm/mach-s3c2440/mach-osiris.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2005,2008 Simtec Electronics
|
* Copyright (c) 2005-2008 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
@@ -23,6 +23,8 @@
|
|||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
|
|
||||||
|
#include <linux/i2c/tps65010.h>
|
||||||
|
|
||||||
#include <asm/mach/arch.h>
|
#include <asm/mach/arch.h>
|
||||||
#include <asm/mach/map.h>
|
#include <asm/mach/map.h>
|
||||||
#include <asm/mach/irq.h>
|
#include <asm/mach/irq.h>
|
||||||
@@ -326,12 +328,44 @@ static struct sys_device osiris_pm_sysdev = {
|
|||||||
.cls = &osiris_pm_sysclass,
|
.cls = &osiris_pm_sysclass,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Link for DVS driver to TPS65011 */
|
||||||
|
|
||||||
|
static void osiris_tps_release(struct device *dev)
|
||||||
|
{
|
||||||
|
/* static device, do not need to release anything */
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct platform_device osiris_tps_device = {
|
||||||
|
.name = "osiris-dvs",
|
||||||
|
.id = -1,
|
||||||
|
.dev.release = osiris_tps_release,
|
||||||
|
};
|
||||||
|
|
||||||
|
static int osiris_tps_setup(struct i2c_client *client, void *context)
|
||||||
|
{
|
||||||
|
osiris_tps_device.dev.parent = &client->dev;
|
||||||
|
return platform_device_register(&osiris_tps_device);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int osiris_tps_remove(struct i2c_client *client, void *context)
|
||||||
|
{
|
||||||
|
platform_device_unregister(&osiris_tps_device);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct tps65010_board osiris_tps_board = {
|
||||||
|
.base = -1, /* GPIO can go anywhere at the moment */
|
||||||
|
.setup = osiris_tps_setup,
|
||||||
|
.teardown = osiris_tps_remove,
|
||||||
|
};
|
||||||
|
|
||||||
/* I2C devices fitted. */
|
/* I2C devices fitted. */
|
||||||
|
|
||||||
static struct i2c_board_info osiris_i2c_devs[] __initdata = {
|
static struct i2c_board_info osiris_i2c_devs[] __initdata = {
|
||||||
{
|
{
|
||||||
I2C_BOARD_INFO("tps65011", 0x48),
|
I2C_BOARD_INFO("tps65011", 0x48),
|
||||||
.irq = IRQ_EINT20,
|
.irq = IRQ_EINT20,
|
||||||
|
.platform_data = &osiris_tps_board,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/mach-s3c2440/mach-rx3715.c
|
/* linux/arch/arm/mach-s3c2440/mach-rx3715.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003,2004 Simtec Electronics
|
* Copyright (c) 2003-2004 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* http://www.handhelds.org/projects/rx3715.html
|
* http://www.handhelds.org/projects/rx3715.html
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/mach-s3c2440/mach-smdk2440.c
|
/* linux/arch/arm/mach-s3c2440/mach-smdk2440.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2004,2005 Simtec Electronics
|
* Copyright (c) 2004-2005 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* http://www.fluff.org/ben/smdk2440/
|
* http://www.fluff.org/ben/smdk2440/
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/mach-s3c24a0/include/mach/map.h
|
/* linux/arch/arm/mach-s3c24a0/include/mach/map.h
|
||||||
*
|
*
|
||||||
* Copyright 2003,2007 Simtec Electronics
|
* Copyright 2003-2007 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
/* linux/arch/arm/mach-s3c24a0/include/mach/regs-clock.h
|
/* linux/arch/arm/mach-s3c24a0/include/mach/regs-clock.h
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003,2004,2005,2006 Simtec Electronics <linux@simtec.co.uk>
|
* Copyright (c) 2003-2006 Simtec Electronics <linux@simtec.co.uk>
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/plat-s3c24xx/clock.c
|
/* linux/arch/arm/plat-s3c24xx/clock.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2004-2005 Simtec Electronics
|
* Copyright 2004-2005 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* S3C24XX Core clock control support
|
* S3C24XX Core clock control support
|
||||||
@@ -337,7 +337,7 @@ int s3c24xx_register_clocks(struct clk **clks, int nr_clks)
|
|||||||
|
|
||||||
int __init s3c24xx_register_baseclocks(unsigned long xtal)
|
int __init s3c24xx_register_baseclocks(unsigned long xtal)
|
||||||
{
|
{
|
||||||
printk(KERN_INFO "S3C24XX Clocks, (c) 2004 Simtec Electronics\n");
|
printk(KERN_INFO "S3C24XX Clocks, Copyright 2004 Simtec Electronics\n");
|
||||||
|
|
||||||
clk_xtal.rate = xtal;
|
clk_xtal.rate = xtal;
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/plat-s3c/dev-i2c0.c
|
/* linux/arch/arm/plat-s3c/dev-i2c0.c
|
||||||
*
|
*
|
||||||
* Copyright 2008,2009 Simtec Electronics
|
* Copyright 2008-2009 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/plat-s3c/dev-i2c1.c
|
/* linux/arch/arm/plat-s3c/dev-i2c1.c
|
||||||
*
|
*
|
||||||
* Copyright 2008,2009 Simtec Electronics
|
* Copyright 2008-2009 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/plat-s3c/dma.c
|
/* linux/arch/arm/plat-s3c/dma.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003-2005,2006,2009 Simtec Electronics
|
* Copyright (c) 2003-2009 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
*
|
*
|
||||||
|
@@ -33,5 +33,5 @@ struct s3c24xx_audio_simtec_pdata {
|
|||||||
void (*startup)(void);
|
void (*startup)(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
extern int simtec_audio_add(const char *codec_name,
|
extern int simtec_audio_add(const char *codec_name, bool has_lr_routing,
|
||||||
struct s3c24xx_audio_simtec_pdata *pdata);
|
struct s3c24xx_audio_simtec_pdata *pdata);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* arch/arm/plat-s3c/include/plat/cpu-freq.h
|
/* arch/arm/plat-s3c/include/plat/cpu-freq.h
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006,2007 Simtec Electronics
|
* Copyright (c) 2006-2007 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* arch/arm/plat-s3c/include/plat/dma.h
|
/* arch/arm/plat-s3c/include/plat/dma.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003,2004,2006 Simtec Electronics
|
* Copyright (C) 2003-2006 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* Samsung S3C DMA support
|
* Samsung S3C DMA support
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* arch/arm/plat-s3c/include/plat/iic.h
|
/* arch/arm/plat-s3c/include/plat/iic.h
|
||||||
*
|
*
|
||||||
* Copyright 2004,2009 Simtec Electronics
|
* Copyright 2004-2009 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* S3C - I2C Controller platform_device info
|
* S3C - I2C Controller platform_device info
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
/* arch/arm/mach-s3c2410/include/mach/regs-nand.h
|
/* arch/arm/mach-s3c2410/include/mach/regs-nand.h
|
||||||
*
|
*
|
||||||
* Copyright (c) 2004,2005 Simtec Electronics <linux@simtec.co.uk>
|
* Copyright (c) 2004-2005 Simtec Electronics <linux@simtec.co.uk>
|
||||||
* http://www.simtec.co.uk/products/SWLINUX/
|
* http://www.simtec.co.uk/products/SWLINUX/
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (C) 2002 Shane Nay (shane@minirl.com)
|
* Copyright (C) 2002 Shane Nay (shane@minirl.com)
|
||||||
*
|
*
|
||||||
* Additional defines, (c) 2003 Simtec Electronics (linux@simtec.co.uk)
|
* Additional defines, Copyright 2003 Simtec Electronics (linux@simtec.co.uk)
|
||||||
*
|
*
|
||||||
* Adapted from:
|
* Adapted from:
|
||||||
*
|
*
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
/* linux/arch/arm/plat-s3c/pm-check.c
|
/* linux/arch/arm/plat-s3c/pm-check.c
|
||||||
* originally in linux/arch/arm/plat-s3c24xx/pm.c
|
* originally in linux/arch/arm/plat-s3c24xx/pm.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2004,2006,2008 Simtec Electronics
|
* Copyright (c) 2004-2008 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk
|
* http://armlinux.simtec.co.uk
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
/* linux/arch/arm/plat-s3c/pm.c
|
/* linux/arch/arm/plat-s3c/pm.c
|
||||||
*
|
*
|
||||||
* Copyright 2008 Openmoko, Inc.
|
* Copyright 2008 Openmoko, Inc.
|
||||||
* Copyright 2004,2006,2008 Simtec Electronics
|
* Copyright 2004-2008 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
*
|
*
|
||||||
|
@@ -178,4 +178,11 @@ config MACH_SMDK
|
|||||||
help
|
help
|
||||||
Common machine code for SMDK2410 and SMDK2440
|
Common machine code for SMDK2410 and SMDK2440
|
||||||
|
|
||||||
|
config S3C24XX_SIMTEC_AUDIO
|
||||||
|
bool
|
||||||
|
depends on (ARCH_BAST || MACH_VR1000 || MACH_OSIRIS || MACH_ANUBIS)
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Add audio devices for common Simtec S3C24XX boards
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
@@ -55,3 +55,4 @@ obj-$(CONFIG_S3C24XX_SPI_BUS1_GPD8_GPD9_GPD10) += spi-bus1-gpd8_9_10.o
|
|||||||
# machine common support
|
# machine common support
|
||||||
|
|
||||||
obj-$(CONFIG_MACH_SMDK) += common-smdk.o
|
obj-$(CONFIG_MACH_SMDK) += common-smdk.o
|
||||||
|
obj-$(CONFIG_S3C24XX_SIMTEC_AUDIO) += simtec-audio.o
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/plat-s3c24xx/clock-dclk.c
|
/* linux/arch/arm/plat-s3c24xx/clock-dclk.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2004,2008 Simtec Electronics
|
* Copyright (c) 2004-2008 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/plat-s3c24xx/cpu-freq.c
|
/* linux/arch/arm/plat-s3c24xx/cpu-freq.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006,2007,2008 Simtec Electronics
|
* Copyright (c) 2006-2008 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/plat-s3c24xx/dma.c
|
/* linux/arch/arm/plat-s3c24xx/dma.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003-2005,2006 Simtec Electronics
|
* Copyright 2003-2006 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* S3C2410 DMA core
|
* S3C2410 DMA core
|
||||||
@@ -1310,7 +1310,7 @@ int __init s3c24xx_dma_init(unsigned int channels, unsigned int irq,
|
|||||||
int channel;
|
int channel;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
printk("S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics\n");
|
printk("S3C24XX DMA Driver, Copyright 2003-2006 Simtec Electronics\n");
|
||||||
|
|
||||||
dma_channels = channels;
|
dma_channels = channels;
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* arch/arm/plat-s3c/include/plat/cpu-freq.h
|
/* arch/arm/plat-s3c/include/plat/cpu-freq.h
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006,2007,2009 Simtec Electronics
|
* Copyright (c) 2006-2009 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,31 @@
|
|||||||
#ifndef _ARCH_MCI_H
|
#ifndef _ARCH_MCI_H
|
||||||
#define _ARCH_MCI_H
|
#define _ARCH_MCI_H
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct s3c24xx_mci_pdata - sd/mmc controller platform data
|
||||||
|
* @no_wprotect: Set this to indicate there is no write-protect switch.
|
||||||
|
* @no_detect: Set this if there is no detect switch.
|
||||||
|
* @wprotect_invert: Invert the default sense of the write protect switch.
|
||||||
|
* @detect_invert: Invert the default sense of the write protect switch.
|
||||||
|
* @use_dma: Set to allow the use of DMA.
|
||||||
|
* @gpio_detect: GPIO number for the card detect line.
|
||||||
|
* @gpio_wprotect: GPIO number for the write protect line.
|
||||||
|
* @ocr_avail: The mask of the available power states, non-zero to use.
|
||||||
|
* @set_power: Callback to control the power mode.
|
||||||
|
*
|
||||||
|
* The @gpio_detect is used for card detection when @no_wprotect is unset,
|
||||||
|
* and the default sense is that 0 returned from gpio_get_value() means
|
||||||
|
* that a card is inserted. If @detect_invert is set, then the value from
|
||||||
|
* gpio_get_value() is inverted, which makes 1 mean card inserted.
|
||||||
|
*
|
||||||
|
* The driver will use @gpio_wprotect to signal whether the card is write
|
||||||
|
* protected if @no_wprotect is not set. A 0 returned from gpio_get_value()
|
||||||
|
* means the card is read/write, and 1 means read-only. The @wprotect_invert
|
||||||
|
* will invert the value returned from gpio_get_value().
|
||||||
|
*
|
||||||
|
* Card power is set by @ocr_availa, using MCC_VDD_ constants if it is set
|
||||||
|
* to a non-zero value, otherwise the default of 3.2-3.4V is used.
|
||||||
|
*/
|
||||||
struct s3c24xx_mci_pdata {
|
struct s3c24xx_mci_pdata {
|
||||||
unsigned int no_wprotect : 1;
|
unsigned int no_wprotect : 1;
|
||||||
unsigned int no_detect : 1;
|
unsigned int no_detect : 1;
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* arch/arm/mach-s3c2410/include/mach/dma.h
|
/* arch/arm/mach-s3c2410/include/mach/dma.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003,2004,2006 Simtec Electronics
|
* Copyright (C) 2003-2006 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* Samsung S3C24XX DMA support
|
* Samsung S3C24XX DMA support
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/plat-s3c24xx/irq-om.c
|
/* linux/arch/arm/plat-s3c24xx/irq-om.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003,2004 Simtec Electronics
|
* Copyright (c) 2003-2004 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/plat-s3c24xx/irq.c
|
/* linux/arch/arm/plat-s3c24xx/irq.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003,2004 Simtec Electronics
|
* Copyright (c) 2003-2004 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/plat-s3c24xx/pm-simtec.c
|
/* linux/arch/arm/plat-s3c24xx/pm-simtec.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2004 Simtec Electronics
|
* Copyright 2004 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
#include <plat/pm.h>
|
#include <plat/pm.h>
|
||||||
|
|
||||||
#define COPYRIGHT ", (c) 2005 Simtec Electronics"
|
#define COPYRIGHT ", Copyright 2005 Simtec Electronics"
|
||||||
|
|
||||||
/* pm_simtec_init
|
/* pm_simtec_init
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/plat-s3c24xx/pm.c
|
/* linux/arch/arm/plat-s3c24xx/pm.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2004,2006 Simtec Electronics
|
* Copyright (c) 2004-2006 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* S3C24XX Power Manager (Suspend-To-RAM) support
|
* S3C24XX Power Manager (Suspend-To-RAM) support
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/plat-s3c24xx/s3c2410-iotiming.c
|
/* linux/arch/arm/plat-s3c24xx/s3c2410-iotiming.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006,2008,2009 Simtec Electronics
|
* Copyright (c) 2006-2009 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/plat-s3c24xx/s3c2412-iotiming.c
|
/* linux/arch/arm/plat-s3c24xx/s3c2412-iotiming.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006,2008 Simtec Electronics
|
* Copyright (c) 2006-2008 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/plat-s3c24xx/s3c2440-cpufreq.c
|
/* linux/arch/arm/plat-s3c24xx/s3c2440-cpufreq.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006,2008,2009 Simtec Electronics
|
* Copyright (c) 2006-2009 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
* Vincent Sanders <vince@simtec.co.uk>
|
* Vincent Sanders <vince@simtec.co.uk>
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* arch/arm/plat-s3c24xx/s3c2440-pll-12000000.c
|
/* arch/arm/plat-s3c24xx/s3c2440-pll-12000000.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006,2007 Simtec Electronics
|
* Copyright (c) 2006-2007 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
* Vincent Sanders <vince@arm.linux.org.uk>
|
* Vincent Sanders <vince@arm.linux.org.uk>
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/plat-s3c24xx/s3c24xx-clock.c
|
/* linux/arch/arm/plat-s3c24xx/s3c24xx-clock.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2004-2005,2008 Simtec Electronics
|
* Copyright (c) 2004-2008 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* linux/arch/arm/plat-s3c24xx/s3c244x-irq.c
|
/* linux/arch/arm/plat-s3c24xx/s3c244x-irq.c
|
||||||
*
|
*
|
||||||
* Copyright (c) 2003,2004 Simtec Electronics
|
* Copyright (c) 2003-2004 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
77
arch/arm/plat-s3c24xx/simtec-audio.c
Normal file
77
arch/arm/plat-s3c24xx/simtec-audio.c
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
/* linux/arch/arm/plat-s3c24xx/simtec-audio.c
|
||||||
|
*
|
||||||
|
* Copyright (c) 2009 Simtec Electronics
|
||||||
|
* http://armlinux.simtec.co.uk/
|
||||||
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
|
*
|
||||||
|
* Audio setup for various Simtec S3C24XX implementations
|
||||||
|
*
|
||||||
|
* 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/interrupt.h>
|
||||||
|
#include <linux/init.h>
|
||||||
|
#include <linux/device.h>
|
||||||
|
#include <linux/io.h>
|
||||||
|
|
||||||
|
#include <mach/bast-map.h>
|
||||||
|
#include <mach/bast-irq.h>
|
||||||
|
#include <mach/bast-cpld.h>
|
||||||
|
|
||||||
|
#include <mach/hardware.h>
|
||||||
|
#include <mach/regs-gpio.h>
|
||||||
|
|
||||||
|
#include <plat/audio-simtec.h>
|
||||||
|
#include <plat/devs.h>
|
||||||
|
|
||||||
|
/* platform ops for audio */
|
||||||
|
|
||||||
|
static void simtec_audio_startup_lrroute(void)
|
||||||
|
{
|
||||||
|
unsigned int tmp;
|
||||||
|
unsigned long flags;
|
||||||
|
|
||||||
|
local_irq_save(flags);
|
||||||
|
|
||||||
|
tmp = __raw_readb(BAST_VA_CTRL1);
|
||||||
|
tmp &= ~BAST_CPLD_CTRL1_LRMASK;
|
||||||
|
tmp |= BAST_CPLD_CTRL1_LRCDAC;
|
||||||
|
__raw_writeb(tmp, BAST_VA_CTRL1);
|
||||||
|
|
||||||
|
local_irq_restore(flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct s3c24xx_audio_simtec_pdata simtec_audio_platdata;
|
||||||
|
static char our_name[32];
|
||||||
|
|
||||||
|
static struct platform_device simtec_audio_dev = {
|
||||||
|
.name = our_name,
|
||||||
|
.id = -1,
|
||||||
|
.dev = {
|
||||||
|
.parent = &s3c_device_iis.dev,
|
||||||
|
.platform_data = &simtec_audio_platdata,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
int __init simtec_audio_add(const char *name, bool has_lr_routing,
|
||||||
|
struct s3c24xx_audio_simtec_pdata *spd)
|
||||||
|
{
|
||||||
|
if (!name)
|
||||||
|
name = "tlv320aic23";
|
||||||
|
|
||||||
|
snprintf(our_name, sizeof(our_name)-1, "s3c24xx-simtec-%s", name);
|
||||||
|
|
||||||
|
/* copy platform data so the source can be __initdata */
|
||||||
|
if (spd)
|
||||||
|
simtec_audio_platdata = *spd;
|
||||||
|
|
||||||
|
if (has_lr_routing)
|
||||||
|
simtec_audio_platdata.startup = simtec_audio_startup_lrroute;
|
||||||
|
|
||||||
|
platform_device_register(&s3c_device_iis);
|
||||||
|
platform_device_register(&simtec_audio_dev);
|
||||||
|
return 0;
|
||||||
|
}
|
@@ -2,7 +2,7 @@
|
|||||||
*
|
*
|
||||||
* Driver for Samsung S3C2410 SoC onboard UARTs.
|
* Driver for Samsung S3C2410 SoC onboard UARTs.
|
||||||
*
|
*
|
||||||
* Ben Dooks, Copyright (c) 2003-2005,2008 Simtec Electronics
|
* Ben Dooks, Copyright (c) 2003-2008 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
*
|
*
|
||||||
* Driver for Samsung S3C2412 and S3C2413 SoC onboard UARTs.
|
* Driver for Samsung S3C2412 and S3C2413 SoC onboard UARTs.
|
||||||
*
|
*
|
||||||
* Ben Dooks, Copyright (c) 2003-2005,2008 Simtec Electronics
|
* Ben Dooks, Copyright (c) 2003-2008 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
*
|
*
|
||||||
* Driver for Samsung S3C2440 and S3C2442 SoC onboard UARTs.
|
* Driver for Samsung S3C2440 and S3C2442 SoC onboard UARTs.
|
||||||
*
|
*
|
||||||
* Ben Dooks, Copyright (c) 2003-2005,2008 Simtec Electronics
|
* Ben Dooks, Copyright (c) 2003-2008 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
*
|
*
|
||||||
* Author: Sandeep Patil <sandeep.patil@azingo.com>
|
* Author: Sandeep Patil <sandeep.patil@azingo.com>
|
||||||
*
|
*
|
||||||
* Ben Dooks, Copyright (c) 2003-2005,2008 Simtec Electronics
|
* Ben Dooks, Copyright (c) 2003-2008 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
*
|
*
|
||||||
* Driver core for Samsung SoC onboard UARTs.
|
* Driver core for Samsung SoC onboard UARTs.
|
||||||
*
|
*
|
||||||
* Ben Dooks, Copyright (c) 2003-2005,2008 Simtec Electronics
|
* Ben Dooks, Copyright (c) 2003-2008 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
*
|
*
|
||||||
* Driver for Samsung SoC onboard UARTs.
|
* Driver for Samsung SoC onboard UARTs.
|
||||||
*
|
*
|
||||||
* Ben Dooks, Copyright (c) 2003-2005,2008 Simtec Electronics
|
* Ben Dooks, Copyright (c) 2003-2008 Simtec Electronics
|
||||||
* http://armlinux.simtec.co.uk/
|
* http://armlinux.simtec.co.uk/
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
Reference in New Issue
Block a user