Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
7684f784
Commit
7684f784
authored
Oct 25, 2010
by
Kukjin Kim
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'next-s3c24xx' into for-next
parents
05daf079
6436b6a7
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
139 additions
and
9 deletions
+139
-9
arch/arm/mach-s3c2410/include/mach/gpio.h
arch/arm/mach-s3c2410/include/mach/gpio.h
+7
-3
arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h
arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h
+2
-0
arch/arm/mach-s3c2412/s3c2412.c
arch/arm/mach-s3c2412/s3c2412.c
+2
-1
arch/arm/mach-s3c2416/Kconfig
arch/arm/mach-s3c2416/Kconfig
+6
-0
arch/arm/mach-s3c2416/Makefile
arch/arm/mach-s3c2416/Makefile
+1
-1
arch/arm/mach-s3c2416/irq.c
arch/arm/mach-s3c2416/irq.c
+2
-0
arch/arm/mach-s3c2416/pm.c
arch/arm/mach-s3c2416/pm.c
+84
-0
arch/arm/mach-s3c2416/s3c2416.c
arch/arm/mach-s3c2416/s3c2416.c
+2
-1
arch/arm/mach-s3c2440/s3c244x.c
arch/arm/mach-s3c2440/s3c244x.c
+2
-1
arch/arm/mach-s3c2443/s3c2443.c
arch/arm/mach-s3c2443/s3c2443.c
+2
-1
arch/arm/plat-s3c24xx/common-smdk.c
arch/arm/plat-s3c24xx/common-smdk.c
+1
-1
arch/arm/plat-samsung/include/plat/nand-core.h
arch/arm/plat-samsung/include/plat/nand-core.h
+28
-0
No files found.
arch/arm/mach-s3c2410/include/mach/gpio.h
View file @
7684f784
...
@@ -22,6 +22,8 @@
...
@@ -22,6 +22,8 @@
#ifdef CONFIG_CPU_S3C244X
#ifdef CONFIG_CPU_S3C244X
#define ARCH_NR_GPIOS (32 * 9 + CONFIG_S3C24XX_GPIO_EXTRA)
#define ARCH_NR_GPIOS (32 * 9 + CONFIG_S3C24XX_GPIO_EXTRA)
#elif defined(CONFIG_CPU_S3C2443) || defined(CONFIG_CPU_S3C2416)
#define ARCH_NR_GPIOS (32 * 12 + CONFIG_S3C24XX_GPIO_EXTRA)
#else
#else
#define ARCH_NR_GPIOS (256 + CONFIG_S3C24XX_GPIO_EXTRA)
#define ARCH_NR_GPIOS (256 + CONFIG_S3C24XX_GPIO_EXTRA)
#endif
#endif
...
@@ -30,8 +32,10 @@
...
@@ -30,8 +32,10 @@
#include <mach/gpio-nrs.h>
#include <mach/gpio-nrs.h>
#include <mach/gpio-fns.h>
#include <mach/gpio-fns.h>
#ifdef CONFIG_CPU_S3C24XX
#ifdef CONFIG_CPU_S3C244X
#define S3C_GPIO_END (S3C2410_GPIO_BANKJ + 32)
#define S3C_GPIO_END (S3C2410_GPJ(0) + 32)
#elif defined(CONFIG_CPU_S3C2443) || defined(CONFIG_CPU_S3C2416)
#define S3C_GPIO_END (S3C2410_GPM(0) + 32)
#else
#else
#define S3C_GPIO_END (S3C2410_GP
IO_BANKH
+ 32)
#define S3C_GPIO_END (S3C2410_GP
H(0)
+ 32)
#endif
#endif
arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h
View file @
7684f784
...
@@ -118,6 +118,8 @@
...
@@ -118,6 +118,8 @@
#define S3C2443_SCLKCON_UARTCLK (1<<8)
#define S3C2443_SCLKCON_UARTCLK (1<<8)
#define S3C2443_SCLKCON_USBHOST (1<<1)
#define S3C2443_SCLKCON_USBHOST (1<<1)
#define S3C2443_PWRCFG_SLEEP (1<<15)
#include <asm/div64.h>
#include <asm/div64.h>
static
inline
unsigned
int
static
inline
unsigned
int
...
...
arch/arm/mach-s3c2412/s3c2412.c
View file @
7684f784
...
@@ -51,6 +51,7 @@
...
@@ -51,6 +51,7 @@
#include <plat/clock.h>
#include <plat/clock.h>
#include <plat/pm.h>
#include <plat/pm.h>
#include <plat/pll.h>
#include <plat/pll.h>
#include <plat/nand-core.h>
#ifndef CONFIG_CPU_S3C2412_ONLY
#ifndef CONFIG_CPU_S3C2412_ONLY
void
__iomem
*
s3c24xx_va_gpio2
=
S3C24XX_VA_GPIO
;
void
__iomem
*
s3c24xx_va_gpio2
=
S3C24XX_VA_GPIO
;
...
@@ -92,7 +93,7 @@ void __init s3c2412_init_uarts(struct s3c2410_uartcfg *cfg, int no)
...
@@ -92,7 +93,7 @@ void __init s3c2412_init_uarts(struct s3c2410_uartcfg *cfg, int no)
/* rename devices that are s3c2412/s3c2413 specific */
/* rename devices that are s3c2412/s3c2413 specific */
s3c_device_sdi
.
name
=
"s3c2412-sdi"
;
s3c_device_sdi
.
name
=
"s3c2412-sdi"
;
s3c_device_lcd
.
name
=
"s3c2412-lcd"
;
s3c_device_lcd
.
name
=
"s3c2412-lcd"
;
s3c_
device_nand
.
name
=
"s3c2412-nand"
;
s3c_
nand_setname
(
"s3c2412-nand"
)
;
/* alter IRQ of SDI controller */
/* alter IRQ of SDI controller */
...
...
arch/arm/mach-s3c2416/Kconfig
View file @
7684f784
...
@@ -25,6 +25,11 @@ config S3C2416_DMA
...
@@ -25,6 +25,11 @@ config S3C2416_DMA
help
help
Internal config node for S3C2416 DMA support
Internal config node for S3C2416 DMA support
config S3C2416_PM
bool
help
Internal config node to apply S3C2416 power management
menu "S3C2416 Machines"
menu "S3C2416 Machines"
config MACH_SMDK2416
config MACH_SMDK2416
...
@@ -33,6 +38,7 @@ config MACH_SMDK2416
...
@@ -33,6 +38,7 @@ config MACH_SMDK2416
select S3C_DEV_FB
select S3C_DEV_FB
select S3C_DEV_HSMMC
select S3C_DEV_HSMMC
select S3C_DEV_HSMMC1
select S3C_DEV_HSMMC1
select S3C2416_PM if PM
help
help
Say Y here if you are using an SMDK2416
Say Y here if you are using an SMDK2416
...
...
arch/arm/mach-s3c2416/Makefile
View file @
7684f784
...
@@ -11,7 +11,7 @@ obj- :=
...
@@ -11,7 +11,7 @@ obj- :=
obj-$(CONFIG_CPU_S3C2416)
+=
s3c2416.o clock.o
obj-$(CONFIG_CPU_S3C2416)
+=
s3c2416.o clock.o
obj-$(CONFIG_CPU_S3C2416)
+=
irq.o
obj-$(CONFIG_CPU_S3C2416)
+=
irq.o
obj-$(CONFIG_S3C2416_PM)
+=
pm.o
#obj-$(CONFIG_S3C2416_DMA) += dma.o
#obj-$(CONFIG_S3C2416_DMA) += dma.o
# Machine support
# Machine support
...
...
arch/arm/mach-s3c2416/irq.c
View file @
7684f784
...
@@ -243,6 +243,8 @@ static int __init s3c2416_irq_add(struct sys_device *sysdev)
...
@@ -243,6 +243,8 @@ static int __init s3c2416_irq_add(struct sys_device *sysdev)
static
struct
sysdev_driver
s3c2416_irq_driver
=
{
static
struct
sysdev_driver
s3c2416_irq_driver
=
{
.
add
=
s3c2416_irq_add
,
.
add
=
s3c2416_irq_add
,
.
suspend
=
s3c24xx_irq_suspend
,
.
resume
=
s3c24xx_irq_resume
,
};
};
static
int
__init
s3c2416_irq_init
(
void
)
static
int
__init
s3c2416_irq_init
(
void
)
...
...
arch/arm/mach-s3c2416/pm.c
0 → 100644
View file @
7684f784
/* linux/arch/arm/mach-s3c2416/pm.c
*
* Copyright (c) 2010 Samsung Electronics Co., Ltd.
* http://www.samsung.com
*
* S3C2416 - PM support (Based on Ben Dooks' S3C2412 PM 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/sysdev.h>
#include <linux/io.h>
#include <asm/cacheflush.h>
#include <mach/regs-power.h>
#include <mach/regs-s3c2443-clock.h>
#include <plat/cpu.h>
#include <plat/pm.h>
extern
void
s3c2412_sleep_enter
(
void
);
static
void
s3c2416_cpu_suspend
(
void
)
{
flush_cache_all
();
/* enable wakeup sources regardless of battery state */
__raw_writel
(
S3C2443_PWRCFG_SLEEP
,
S3C2443_PWRCFG
);
/* set the mode as sleep, 2BED represents "Go to BED" */
__raw_writel
(
0x2BED
,
S3C2443_PWRMODE
);
s3c2412_sleep_enter
();
}
static
void
s3c2416_pm_prepare
(
void
)
{
/*
* write the magic value u-boot uses to check for resume into
* the INFORM0 register, and ensure INFORM1 is set to the
* correct address to resume from.
*/
__raw_writel
(
0x2BED
,
S3C2412_INFORM0
);
__raw_writel
(
virt_to_phys
(
s3c_cpu_resume
),
S3C2412_INFORM1
);
}
static
int
s3c2416_pm_add
(
struct
sys_device
*
sysdev
)
{
pm_cpu_prep
=
s3c2416_pm_prepare
;
pm_cpu_sleep
=
s3c2416_cpu_suspend
;
return
0
;
}
static
int
s3c2416_pm_suspend
(
struct
sys_device
*
dev
,
pm_message_t
state
)
{
return
0
;
}
static
int
s3c2416_pm_resume
(
struct
sys_device
*
dev
)
{
/* unset the return-from-sleep amd inform flags */
__raw_writel
(
0x0
,
S3C2443_PWRMODE
);
__raw_writel
(
0x0
,
S3C2412_INFORM0
);
__raw_writel
(
0x0
,
S3C2412_INFORM1
);
return
0
;
}
static
struct
sysdev_driver
s3c2416_pm_driver
=
{
.
add
=
s3c2416_pm_add
,
.
suspend
=
s3c2416_pm_suspend
,
.
resume
=
s3c2416_pm_resume
,
};
static
__init
int
s3c2416_pm_init
(
void
)
{
return
sysdev_driver_register
(
&
s3c2416_sysclass
,
&
s3c2416_pm_driver
);
}
arch_initcall
(
s3c2416_pm_init
);
arch/arm/mach-s3c2416/s3c2416.c
View file @
7684f784
...
@@ -56,6 +56,7 @@
...
@@ -56,6 +56,7 @@
#include <plat/iic-core.h>
#include <plat/iic-core.h>
#include <plat/fb-core.h>
#include <plat/fb-core.h>
#include <plat/nand-core.h>
static
struct
map_desc
s3c2416_iodesc
[]
__initdata
=
{
static
struct
map_desc
s3c2416_iodesc
[]
__initdata
=
{
IODESC_ENT
(
WATCHDOG
),
IODESC_ENT
(
WATCHDOG
),
...
@@ -100,7 +101,7 @@ void __init s3c2416_init_uarts(struct s3c2410_uartcfg *cfg, int no)
...
@@ -100,7 +101,7 @@ void __init s3c2416_init_uarts(struct s3c2410_uartcfg *cfg, int no)
{
{
s3c24xx_init_uartdevs
(
"s3c2440-uart"
,
s3c2410_uart_resources
,
cfg
,
no
);
s3c24xx_init_uartdevs
(
"s3c2440-uart"
,
s3c2410_uart_resources
,
cfg
,
no
);
s3c_
device_nand
.
name
=
"s3c2416-nand"
;
s3c_
nand_setname
(
"s3c2412-nand"
)
;
}
}
/* s3c2416_map_io
/* s3c2416_map_io
...
...
arch/arm/mach-s3c2440/s3c244x.c
View file @
7684f784
...
@@ -44,6 +44,7 @@
...
@@ -44,6 +44,7 @@
#include <plat/cpu.h>
#include <plat/cpu.h>
#include <plat/pm.h>
#include <plat/pm.h>
#include <plat/pll.h>
#include <plat/pll.h>
#include <plat/nand-core.h>
static
struct
map_desc
s3c244x_iodesc
[]
__initdata
=
{
static
struct
map_desc
s3c244x_iodesc
[]
__initdata
=
{
IODESC_ENT
(
CLKPWR
),
IODESC_ENT
(
CLKPWR
),
...
@@ -68,7 +69,7 @@ void __init s3c244x_map_io(void)
...
@@ -68,7 +69,7 @@ void __init s3c244x_map_io(void)
s3c_device_sdi
.
name
=
"s3c2440-sdi"
;
s3c_device_sdi
.
name
=
"s3c2440-sdi"
;
s3c_device_i2c0
.
name
=
"s3c2440-i2c"
;
s3c_device_i2c0
.
name
=
"s3c2440-i2c"
;
s3c_
device_nand
.
name
=
"s3c2440-nand"
;
s3c_
nand_setname
(
"s3c2440-nand"
)
;
s3c_device_ts
.
name
=
"s3c2440-ts"
;
s3c_device_ts
.
name
=
"s3c2440-ts"
;
s3c_device_usbgadget
.
name
=
"s3c2440-usbgadget"
;
s3c_device_usbgadget
.
name
=
"s3c2440-usbgadget"
;
}
}
...
...
arch/arm/mach-s3c2443/s3c2443.c
View file @
7684f784
...
@@ -36,6 +36,7 @@
...
@@ -36,6 +36,7 @@
#include <plat/devs.h>
#include <plat/devs.h>
#include <plat/cpu.h>
#include <plat/cpu.h>
#include <plat/fb-core.h>
#include <plat/fb-core.h>
#include <plat/nand-core.h>
static
struct
map_desc
s3c2443_iodesc
[]
__initdata
=
{
static
struct
map_desc
s3c2443_iodesc
[]
__initdata
=
{
IODESC_ENT
(
WATCHDOG
),
IODESC_ENT
(
WATCHDOG
),
...
@@ -62,7 +63,7 @@ int __init s3c2443_init(void)
...
@@ -62,7 +63,7 @@ int __init s3c2443_init(void)
s3c24xx_reset_hook
=
s3c2443_hard_reset
;
s3c24xx_reset_hook
=
s3c2443_hard_reset
;
s3c_
device_nand
.
name
=
"s3c2412-nand"
;
s3c_
nand_setname
(
"s3c2412-nand"
)
;
s3c_fb_setname
(
"s3c2443-fb"
);
s3c_fb_setname
(
"s3c2443-fb"
);
/* change WDT IRQ number */
/* change WDT IRQ number */
...
...
arch/arm/plat-s3c24xx/common-smdk.c
View file @
7684f784
...
@@ -147,7 +147,7 @@ static struct mtd_partition smdk_default_nand_part[] = {
...
@@ -147,7 +147,7 @@ static struct mtd_partition smdk_default_nand_part[] = {
[
7
]
=
{
[
7
]
=
{
.
name
=
"S3C2410 flash partition 7"
,
.
name
=
"S3C2410 flash partition 7"
,
.
offset
=
SZ_1M
*
48
,
.
offset
=
SZ_1M
*
48
,
.
size
=
SZ_16M
,
.
size
=
MTDPART_SIZ_FULL
,
}
}
};
};
...
...
arch/arm/plat-samsung/include/plat/nand-core.h
0 → 100644
View file @
7684f784
/* arch/arm/plat-samsung/include/plat/nand-core.h
*
* Copyright (c) 2010 Samsung Electronics Co., Ltd.
* http://www.samsung.com/
*
* S3C - Nand Controller core functions
*
* 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.
*/
#ifndef __ASM_ARCH_NAND_CORE_H
#define __ASM_ARCH_NAND_CORE_H __FILE__
/* These functions are only for use with the core support code, such as
* the cpu specific initialisation code
*/
/* re-define device name depending on support. */
static
inline
void
s3c_nand_setname
(
char
*
name
)
{
#ifdef CONFIG_S3C_DEV_NAND
s3c_device_nand
.
name
=
name
;
#endif
}
#endif
/* __ASM_ARCH_NAND_CORE_H */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment