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
c37b2504
Commit
c37b2504
authored
Oct 04, 2011
by
Kukjin Kim
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'next-samsung-cleanup' into next-samsung-devel-2
parents
a102a9ec
4c59de05
Changes
38
Hide whitespace changes
Inline
Side-by-side
Showing
38 changed files
with
264 additions
and
702 deletions
+264
-702
arch/arm/mach-exynos4/Kconfig
arch/arm/mach-exynos4/Kconfig
+1
-16
arch/arm/mach-exynos4/Makefile
arch/arm/mach-exynos4/Makefile
+1
-1
arch/arm/mach-exynos4/mach-smdkc210.c
arch/arm/mach-exynos4/mach-smdkc210.c
+0
-309
arch/arm/mach-exynos4/mach-smdkv310.c
arch/arm/mach-exynos4/mach-smdkv310.c
+78
-0
arch/arm/mach-s3c2410/Kconfig
arch/arm/mach-s3c2410/Kconfig
+0
-6
arch/arm/mach-s3c2410/Makefile
arch/arm/mach-s3c2410/Makefile
+0
-1
arch/arm/mach-s3c2410/dma.c
arch/arm/mach-s3c2410/dma.c
+0
-14
arch/arm/mach-s3c2410/gpio.c
arch/arm/mach-s3c2410/gpio.c
+0
-72
arch/arm/mach-s3c2410/include/mach/map.h
arch/arm/mach-s3c2410/include/mach/map.h
+46
-6
arch/arm/mach-s3c2412/Kconfig
arch/arm/mach-s3c2412/Kconfig
+0
-1
arch/arm/mach-s3c2412/Makefile
arch/arm/mach-s3c2412/Makefile
+0
-1
arch/arm/mach-s3c2412/dma.c
arch/arm/mach-s3c2412/dma.c
+0
-18
arch/arm/mach-s3c2412/gpio.c
arch/arm/mach-s3c2412/gpio.c
+0
-62
arch/arm/mach-s3c2440/Kconfig
arch/arm/mach-s3c2440/Kconfig
+0
-2
arch/arm/mach-s3c2440/dma.c
arch/arm/mach-s3c2440/dma.c
+0
-17
arch/arm/mach-s3c2443/dma.c
arch/arm/mach-s3c2443/dma.c
+0
-27
arch/arm/mach-s3c64xx/include/mach/map.h
arch/arm/mach-s3c64xx/include/mach/map.h
+1
-8
arch/arm/mach-s3c64xx/mach-crag6410.c
arch/arm/mach-s3c64xx/mach-crag6410.c
+0
-3
arch/arm/mach-s3c64xx/mach-mini6410.c
arch/arm/mach-s3c64xx/mach-mini6410.c
+1
-7
arch/arm/mach-s3c64xx/mach-real6410.c
arch/arm/mach-s3c64xx/mach-real6410.c
+1
-7
arch/arm/mach-s3c64xx/mach-smdk6410.c
arch/arm/mach-s3c64xx/mach-smdk6410.c
+1
-7
arch/arm/mach-s5p64x0/mach-smdk6440.c
arch/arm/mach-s5p64x0/mach-smdk6440.c
+1
-7
arch/arm/mach-s5p64x0/mach-smdk6450.c
arch/arm/mach-s5p64x0/mach-smdk6450.c
+1
-7
arch/arm/mach-s5pc100/mach-smdkc100.c
arch/arm/mach-s5pc100/mach-smdkc100.c
+1
-7
arch/arm/mach-s5pv210/Kconfig
arch/arm/mach-s5pv210/Kconfig
+0
-6
arch/arm/mach-s5pv210/Makefile
arch/arm/mach-s5pv210/Makefile
+1
-1
arch/arm/mach-s5pv210/mach-smdkv210.c
arch/arm/mach-s5pv210/mach-smdkv210.c
+1
-7
arch/arm/plat-s5p/include/plat/pll.h
arch/arm/plat-s5p/include/plat/pll.h
+0
-1
arch/arm/plat-samsung/dev-hsmmc.c
arch/arm/plat-samsung/dev-hsmmc.c
+1
-18
arch/arm/plat-samsung/dev-hsmmc1.c
arch/arm/plat-samsung/dev-hsmmc1.c
+1
-18
arch/arm/plat-samsung/dev-hsmmc2.c
arch/arm/plat-samsung/dev-hsmmc2.c
+1
-18
arch/arm/plat-samsung/dev-hsmmc3.c
arch/arm/plat-samsung/dev-hsmmc3.c
+1
-18
arch/arm/plat-samsung/dev-ts.c
arch/arm/plat-samsung/dev-ts.c
+9
-0
arch/arm/plat-samsung/include/plat/dma-s3c24xx.h
arch/arm/plat-samsung/include/plat/dma-s3c24xx.h
+0
-6
arch/arm/plat-samsung/include/plat/map-s3c.h
arch/arm/plat-samsung/include/plat/map-s3c.h
+84
-0
arch/arm/plat-samsung/include/plat/map-s5p.h
arch/arm/plat-samsung/include/plat/map-s5p.h
+3
-3
arch/arm/plat-samsung/include/plat/sdhci.h
arch/arm/plat-samsung/include/plat/sdhci.h
+7
-0
arch/arm/plat-samsung/platformdata.c
arch/arm/plat-samsung/platformdata.c
+22
-0
No files found.
arch/arm/mach-exynos4/Kconfig
View file @
c37b2504
...
...
@@ -113,22 +113,7 @@ menu "EXYNOS4 Machines"
config MACH_SMDKC210
bool "SMDKC210"
select CPU_EXYNOS4210
select S5P_DEV_FIMD0
select S3C_DEV_RTC
select S3C_DEV_WDT
select S3C_DEV_I2C1
select S3C_DEV_HSMMC
select S3C_DEV_HSMMC1
select S3C_DEV_HSMMC2
select S3C_DEV_HSMMC3
select SAMSUNG_DEV_PWM
select SAMSUNG_DEV_BACKLIGHT
select EXYNOS4_DEV_PD
select EXYNOS4_DEV_SYSMMU
select EXYNOS4_SETUP_FIMD0
select EXYNOS4_SETUP_I2C1
select EXYNOS4_SETUP_SDHCI
select MACH_SMDKV310
help
Machine support for Samsung SMDKC210
...
...
arch/arm/mach-exynos4/Makefile
View file @
c37b2504
...
...
@@ -25,7 +25,7 @@ obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
# machine support
obj-$(CONFIG_MACH_SMDKC210)
+=
mach-smdk
c2
10.o
obj-$(CONFIG_MACH_SMDKC210)
+=
mach-smdk
v3
10.o
obj-$(CONFIG_MACH_SMDKV310)
+=
mach-smdkv310.o
obj-$(CONFIG_MACH_ARMLEX4210)
+=
mach-armlex4210.o
obj-$(CONFIG_MACH_UNIVERSAL_C210)
+=
mach-universal_c210.o
...
...
arch/arm/mach-exynos4/mach-smdkc210.c
deleted
100644 → 0
View file @
a102a9ec
/* linux/arch/arm/mach-exynos4/mach-smdkc210.c
*
* Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
* http://www.samsung.com
*
* 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/serial_core.h>
#include <linux/delay.h>
#include <linux/gpio.h>
#include <linux/lcd.h>
#include <linux/mmc/host.h>
#include <linux/platform_device.h>
#include <linux/smsc911x.h>
#include <linux/io.h>
#include <linux/i2c.h>
#include <linux/pwm_backlight.h>
#include <asm/mach/arch.h>
#include <asm/mach-types.h>
#include <video/platform_lcd.h>
#include <plat/regs-serial.h>
#include <plat/regs-srom.h>
#include <plat/regs-fb-v4.h>
#include <plat/exynos4.h>
#include <plat/cpu.h>
#include <plat/devs.h>
#include <plat/fb.h>
#include <plat/sdhci.h>
#include <plat/iic.h>
#include <plat/pd.h>
#include <plat/gpio-cfg.h>
#include <plat/backlight.h>
#include <mach/map.h>
/* Following are default values for UCON, ULCON and UFCON UART registers */
#define SMDKC210_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
S3C2410_UCON_RXILEVEL | \
S3C2410_UCON_TXIRQMODE | \
S3C2410_UCON_RXIRQMODE | \
S3C2410_UCON_RXFIFO_TOI | \
S3C2443_UCON_RXERR_IRQEN)
#define SMDKC210_ULCON_DEFAULT S3C2410_LCON_CS8
#define SMDKC210_UFCON_DEFAULT (S3C2410_UFCON_FIFOMODE | \
S5PV210_UFCON_TXTRIG4 | \
S5PV210_UFCON_RXTRIG4)
static
struct
s3c2410_uartcfg
smdkc210_uartcfgs
[]
__initdata
=
{
[
0
]
=
{
.
hwport
=
0
,
.
flags
=
0
,
.
ucon
=
SMDKC210_UCON_DEFAULT
,
.
ulcon
=
SMDKC210_ULCON_DEFAULT
,
.
ufcon
=
SMDKC210_UFCON_DEFAULT
,
},
[
1
]
=
{
.
hwport
=
1
,
.
flags
=
0
,
.
ucon
=
SMDKC210_UCON_DEFAULT
,
.
ulcon
=
SMDKC210_ULCON_DEFAULT
,
.
ufcon
=
SMDKC210_UFCON_DEFAULT
,
},
[
2
]
=
{
.
hwport
=
2
,
.
flags
=
0
,
.
ucon
=
SMDKC210_UCON_DEFAULT
,
.
ulcon
=
SMDKC210_ULCON_DEFAULT
,
.
ufcon
=
SMDKC210_UFCON_DEFAULT
,
},
[
3
]
=
{
.
hwport
=
3
,
.
flags
=
0
,
.
ucon
=
SMDKC210_UCON_DEFAULT
,
.
ulcon
=
SMDKC210_ULCON_DEFAULT
,
.
ufcon
=
SMDKC210_UFCON_DEFAULT
,
},
};
static
struct
s3c_sdhci_platdata
smdkc210_hsmmc0_pdata
__initdata
=
{
.
cd_type
=
S3C_SDHCI_CD_GPIO
,
.
ext_cd_gpio
=
EXYNOS4_GPK0
(
2
),
.
ext_cd_gpio_invert
=
1
,
.
clk_type
=
S3C_SDHCI_CLK_DIV_EXTERNAL
,
#ifdef CONFIG_EXYNOS4_SDHCI_CH0_8BIT
.
max_width
=
8
,
.
host_caps
=
MMC_CAP_8_BIT_DATA
,
#endif
};
static
struct
s3c_sdhci_platdata
smdkc210_hsmmc1_pdata
__initdata
=
{
.
cd_type
=
S3C_SDHCI_CD_GPIO
,
.
ext_cd_gpio
=
EXYNOS4_GPK0
(
2
),
.
ext_cd_gpio_invert
=
1
,
.
clk_type
=
S3C_SDHCI_CLK_DIV_EXTERNAL
,
};
static
struct
s3c_sdhci_platdata
smdkc210_hsmmc2_pdata
__initdata
=
{
.
cd_type
=
S3C_SDHCI_CD_GPIO
,
.
ext_cd_gpio
=
EXYNOS4_GPK2
(
2
),
.
ext_cd_gpio_invert
=
1
,
.
clk_type
=
S3C_SDHCI_CLK_DIV_EXTERNAL
,
#ifdef CONFIG_EXYNOS4_SDHCI_CH2_8BIT
.
max_width
=
8
,
.
host_caps
=
MMC_CAP_8_BIT_DATA
,
#endif
};
static
struct
s3c_sdhci_platdata
smdkc210_hsmmc3_pdata
__initdata
=
{
.
cd_type
=
S3C_SDHCI_CD_GPIO
,
.
ext_cd_gpio
=
EXYNOS4_GPK2
(
2
),
.
ext_cd_gpio_invert
=
1
,
.
clk_type
=
S3C_SDHCI_CLK_DIV_EXTERNAL
,
};
static
void
lcd_lte480wv_set_power
(
struct
plat_lcd_data
*
pd
,
unsigned
int
power
)
{
if
(
power
)
{
#if !defined(CONFIG_BACKLIGHT_PWM)
gpio_request_one
(
EXYNOS4_GPD0
(
1
),
GPIOF_OUT_INIT_HIGH
,
"GPD0"
);
gpio_free
(
EXYNOS4_GPD0
(
1
));
#endif
/* fire nRESET on power up */
gpio_request
(
EXYNOS4_GPX0
(
6
),
"GPX0"
);
gpio_direction_output
(
EXYNOS4_GPX0
(
6
),
1
);
mdelay
(
100
);
gpio_set_value
(
EXYNOS4_GPX0
(
6
),
0
);
mdelay
(
10
);
gpio_set_value
(
EXYNOS4_GPX0
(
6
),
1
);
mdelay
(
10
);
gpio_free
(
EXYNOS4_GPX0
(
6
));
}
else
{
#if !defined(CONFIG_BACKLIGHT_PWM)
gpio_request_one
(
EXYNOS4_GPD0
(
1
),
GPIOF_OUT_INIT_LOW
,
"GPD0"
);
gpio_free
(
EXYNOS4_GPD0
(
1
));
#endif
}
}
static
struct
plat_lcd_data
smdkc210_lcd_lte480wv_data
=
{
.
set_power
=
lcd_lte480wv_set_power
,
};
static
struct
platform_device
smdkc210_lcd_lte480wv
=
{
.
name
=
"platform-lcd"
,
.
dev
.
parent
=
&
s5p_device_fimd0
.
dev
,
.
dev
.
platform_data
=
&
smdkc210_lcd_lte480wv_data
,
};
static
struct
s3c_fb_pd_win
smdkc210_fb_win0
=
{
.
win_mode
=
{
.
left_margin
=
13
,
.
right_margin
=
8
,
.
upper_margin
=
7
,
.
lower_margin
=
5
,
.
hsync_len
=
3
,
.
vsync_len
=
1
,
.
xres
=
800
,
.
yres
=
480
,
},
.
max_bpp
=
32
,
.
default_bpp
=
24
,
};
static
struct
s3c_fb_platdata
smdkc210_lcd0_pdata
__initdata
=
{
.
win
[
0
]
=
&
smdkc210_fb_win0
,
.
vidcon0
=
VIDCON0_VIDOUT_RGB
|
VIDCON0_PNRMODE_RGB
,
.
vidcon1
=
VIDCON1_INV_HSYNC
|
VIDCON1_INV_VSYNC
,
.
setup_gpio
=
exynos4_fimd0_gpio_setup_24bpp
,
};
static
struct
resource
smdkc210_smsc911x_resources
[]
=
{
[
0
]
=
{
.
start
=
EXYNOS4_PA_SROM_BANK
(
1
),
.
end
=
EXYNOS4_PA_SROM_BANK
(
1
)
+
SZ_64K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
[
1
]
=
{
.
start
=
IRQ_EINT
(
5
),
.
end
=
IRQ_EINT
(
5
),
.
flags
=
IORESOURCE_IRQ
|
IRQF_TRIGGER_LOW
,
},
};
static
struct
smsc911x_platform_config
smsc9215_config
=
{
.
irq_polarity
=
SMSC911X_IRQ_POLARITY_ACTIVE_LOW
,
.
irq_type
=
SMSC911X_IRQ_TYPE_PUSH_PULL
,
.
flags
=
SMSC911X_USE_16BIT
|
SMSC911X_FORCE_INTERNAL_PHY
,
.
phy_interface
=
PHY_INTERFACE_MODE_MII
,
.
mac
=
{
0x00
,
0x80
,
0x00
,
0x23
,
0x45
,
0x67
},
};
static
struct
platform_device
smdkc210_smsc911x
=
{
.
name
=
"smsc911x"
,
.
id
=
-
1
,
.
num_resources
=
ARRAY_SIZE
(
smdkc210_smsc911x_resources
),
.
resource
=
smdkc210_smsc911x_resources
,
.
dev
=
{
.
platform_data
=
&
smsc9215_config
,
},
};
static
struct
i2c_board_info
i2c_devs1
[]
__initdata
=
{
{
I2C_BOARD_INFO
(
"wm8994"
,
0x1a
),},
};
static
struct
platform_device
*
smdkc210_devices
[]
__initdata
=
{
&
s3c_device_hsmmc0
,
&
s3c_device_hsmmc1
,
&
s3c_device_hsmmc2
,
&
s3c_device_hsmmc3
,
&
s3c_device_i2c1
,
&
s3c_device_rtc
,
&
s3c_device_wdt
,
&
exynos4_device_ac97
,
&
exynos4_device_i2s0
,
&
exynos4_device_pd
[
PD_MFC
],
&
exynos4_device_pd
[
PD_G3D
],
&
exynos4_device_pd
[
PD_LCD0
],
&
exynos4_device_pd
[
PD_LCD1
],
&
exynos4_device_pd
[
PD_CAM
],
&
exynos4_device_pd
[
PD_TV
],
&
exynos4_device_pd
[
PD_GPS
],
&
exynos4_device_sysmmu
,
&
samsung_asoc_dma
,
&
s5p_device_fimd0
,
&
smdkc210_lcd_lte480wv
,
&
smdkc210_smsc911x
,
};
static
void
__init
smdkc210_smsc911x_init
(
void
)
{
u32
cs1
;
/* configure nCS1 width to 16 bits */
cs1
=
__raw_readl
(
S5P_SROM_BW
)
&
~
(
S5P_SROM_BW__CS_MASK
<<
S5P_SROM_BW__NCS1__SHIFT
);
cs1
|=
((
1
<<
S5P_SROM_BW__DATAWIDTH__SHIFT
)
|
(
1
<<
S5P_SROM_BW__WAITENABLE__SHIFT
)
|
(
1
<<
S5P_SROM_BW__BYTEENABLE__SHIFT
))
<<
S5P_SROM_BW__NCS1__SHIFT
;
__raw_writel
(
cs1
,
S5P_SROM_BW
);
/* set timing for nCS1 suitable for ethernet chip */
__raw_writel
((
0x1
<<
S5P_SROM_BCX__PMC__SHIFT
)
|
(
0x9
<<
S5P_SROM_BCX__TACP__SHIFT
)
|
(
0xc
<<
S5P_SROM_BCX__TCAH__SHIFT
)
|
(
0x1
<<
S5P_SROM_BCX__TCOH__SHIFT
)
|
(
0x6
<<
S5P_SROM_BCX__TACC__SHIFT
)
|
(
0x1
<<
S5P_SROM_BCX__TCOS__SHIFT
)
|
(
0x1
<<
S5P_SROM_BCX__TACS__SHIFT
),
S5P_SROM_BC1
);
}
/* LCD Backlight data */
static
struct
samsung_bl_gpio_info
smdkc210_bl_gpio_info
=
{
.
no
=
EXYNOS4_GPD0
(
1
),
.
func
=
S3C_GPIO_SFN
(
2
),
};
static
struct
platform_pwm_backlight_data
smdkc210_bl_data
=
{
.
pwm_id
=
1
,
.
pwm_period_ns
=
1000
,
};
static
void
__init
smdkc210_map_io
(
void
)
{
s5p_init_io
(
NULL
,
0
,
S5P_VA_CHIPID
);
s3c24xx_init_clocks
(
24000000
);
s3c24xx_init_uarts
(
smdkc210_uartcfgs
,
ARRAY_SIZE
(
smdkc210_uartcfgs
));
}
static
void
__init
smdkc210_machine_init
(
void
)
{
s3c_i2c1_set_platdata
(
NULL
);
i2c_register_board_info
(
1
,
i2c_devs1
,
ARRAY_SIZE
(
i2c_devs1
));
smdkc210_smsc911x_init
();
s3c_sdhci0_set_platdata
(
&
smdkc210_hsmmc0_pdata
);
s3c_sdhci1_set_platdata
(
&
smdkc210_hsmmc1_pdata
);
s3c_sdhci2_set_platdata
(
&
smdkc210_hsmmc2_pdata
);
s3c_sdhci3_set_platdata
(
&
smdkc210_hsmmc3_pdata
);
samsung_bl_set
(
&
smdkc210_bl_gpio_info
,
&
smdkc210_bl_data
);
s5p_fimd0_set_platdata
(
&
smdkc210_lcd0_pdata
);
platform_add_devices
(
smdkc210_devices
,
ARRAY_SIZE
(
smdkc210_devices
));
}
MACHINE_START
(
SMDKC210
,
"SMDKC210"
)
/* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */
.
boot_params
=
S5P_PA_SDRAM
+
0x100
,
.
init_irq
=
exynos4_init_irq
,
.
map_io
=
smdkc210_map_io
,
.
init_machine
=
smdkc210_machine_init
,
.
timer
=
&
exynos4_timer
,
MACHINE_END
arch/arm/mach-exynos4/mach-smdkv310.c
View file @
c37b2504
...
...
@@ -9,7 +9,9 @@
*/
#include <linux/serial_core.h>
#include <linux/delay.h>
#include <linux/gpio.h>
#include <linux/lcd.h>
#include <linux/mmc/host.h>
#include <linux/platform_device.h>
#include <linux/smsc911x.h>
...
...
@@ -21,11 +23,14 @@
#include <asm/mach/arch.h>
#include <asm/mach-types.h>
#include <video/platform_lcd.h>
#include <plat/regs-serial.h>
#include <plat/regs-srom.h>
#include <plat/regs-fb-v4.h>
#include <plat/exynos4.h>
#include <plat/cpu.h>
#include <plat/devs.h>
#include <plat/fb.h>
#include <plat/keypad.h>
#include <plat/sdhci.h>
#include <plat/iic.h>
...
...
@@ -112,6 +117,67 @@ static struct s3c_sdhci_platdata smdkv310_hsmmc3_pdata __initdata = {
.
clk_type
=
S3C_SDHCI_CLK_DIV_EXTERNAL
,
};
static
void
lcd_lte480wv_set_power
(
struct
plat_lcd_data
*
pd
,
unsigned
int
power
)
{
if
(
power
)
{
#if !defined(CONFIG_BACKLIGHT_PWM)
gpio_request_one
(
EXYNOS4_GPD0
(
1
),
GPIOF_OUT_INIT_HIGH
,
"GPD0"
);
gpio_free
(
EXYNOS4_GPD0
(
1
));
#endif
/* fire nRESET on power up */
gpio_request
(
EXYNOS4_GPX0
(
6
),
"GPX0"
);
gpio_direction_output
(
EXYNOS4_GPX0
(
6
),
1
);
mdelay
(
100
);
gpio_set_value
(
EXYNOS4_GPX0
(
6
),
0
);
mdelay
(
10
);
gpio_set_value
(
EXYNOS4_GPX0
(
6
),
1
);
mdelay
(
10
);
gpio_free
(
EXYNOS4_GPX0
(
6
));
}
else
{
#if !defined(CONFIG_BACKLIGHT_PWM)
gpio_request_one
(
EXYNOS4_GPD0
(
1
),
GPIOF_OUT_INIT_LOW
,
"GPD0"
);
gpio_free
(
EXYNOS4_GPD0
(
1
));
#endif
}
}
static
struct
plat_lcd_data
smdkv310_lcd_lte480wv_data
=
{
.
set_power
=
lcd_lte480wv_set_power
,
};
static
struct
platform_device
smdkv310_lcd_lte480wv
=
{
.
name
=
"platform-lcd"
,
.
dev
.
parent
=
&
s5p_device_fimd0
.
dev
,
.
dev
.
platform_data
=
&
smdkv310_lcd_lte480wv_data
,
};
static
struct
s3c_fb_pd_win
smdkv310_fb_win0
=
{
.
win_mode
=
{
.
left_margin
=
13
,
.
right_margin
=
8
,
.
upper_margin
=
7
,
.
lower_margin
=
5
,
.
hsync_len
=
3
,
.
vsync_len
=
1
,
.
xres
=
800
,
.
yres
=
480
,
},
.
max_bpp
=
32
,
.
default_bpp
=
24
,
};
static
struct
s3c_fb_platdata
smdkv310_lcd0_pdata
__initdata
=
{
.
win
[
0
]
=
&
smdkv310_fb_win0
,
.
vidcon0
=
VIDCON0_VIDOUT_RGB
|
VIDCON0_PNRMODE_RGB
,
.
vidcon1
=
VIDCON1_INV_HSYNC
|
VIDCON1_INV_VSYNC
,
.
setup_gpio
=
exynos4_fimd0_gpio_setup_24bpp
,
};
static
struct
resource
smdkv310_smsc911x_resources
[]
=
{
[
0
]
=
{
.
start
=
EXYNOS4_PA_SROM_BANK
(
1
),
...
...
@@ -188,6 +254,8 @@ static struct platform_device *smdkv310_devices[] __initdata = {
&
exynos4_device_sysmmu
,
&
samsung_asoc_dma
,
&
samsung_asoc_idma
,
&
s5p_device_fimd0
,
&
smdkv310_lcd_lte480wv
,
&
smdkv310_smsc911x
,
&
exynos4_device_ahci
,
};
...
...
@@ -248,6 +316,7 @@ static void __init smdkv310_machine_init(void)
samsung_keypad_set_platdata
(
&
smdkv310_keypad_data
);
samsung_bl_set
(
&
smdkv310_bl_gpio_info
,
&
smdkv310_bl_data
);
s5p_fimd0_set_platdata
(
&
smdkv310_lcd0_pdata
);
platform_add_devices
(
smdkv310_devices
,
ARRAY_SIZE
(
smdkv310_devices
));
}
...
...
@@ -261,3 +330,12 @@ MACHINE_START(SMDKV310, "SMDKV310")
.
init_machine
=
smdkv310_machine_init
,
.
timer
=
&
exynos4_timer
,
MACHINE_END
MACHINE_START
(
SMDKC210
,
"SMDKC210"
)
/* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */
.
boot_params
=
S5P_PA_SDRAM
+
0x100
,
.
init_irq
=
exynos4_init_irq
,
.
map_io
=
smdkv310_map_io
,
.
init_machine
=
smdkv310_machine_init
,
.
timer
=
&
exynos4_timer
,
MACHINE_END
arch/arm/mach-s3c2410/Kconfig
View file @
c37b2504
...
...
@@ -8,7 +8,6 @@ config CPU_S3C2410
select CPU_ARM920T
select S3C_GPIO_PULL_UP
select S3C2410_CLOCK
select S3C2410_GPIO
select CPU_LLSERIAL_S3C2410
select S3C2410_PM if PM
select S3C2410_CPUFREQ if CPU_FREQ_S3C24XX
...
...
@@ -28,11 +27,6 @@ config S3C2410_PM
help
Power Management code common to S3C2410 and better
config S3C2410_GPIO
bool
help
GPIO code for S3C2410 and similar processors
config SIMTEC_NOR
bool
help
...
...
arch/arm/mach-s3c2410/Makefile
View file @
c37b2504
...
...
@@ -13,7 +13,6 @@ obj-$(CONFIG_CPU_S3C2410) += s3c2410.o
obj-$(CONFIG_CPU_S3C2410_DMA)
+=
dma.o
obj-$(CONFIG_CPU_S3C2410_DMA)
+=
dma.o
obj-$(CONFIG_S3C2410_PM)
+=
pm.o sleep.o
obj-$(CONFIG_S3C2410_GPIO)
+=
gpio.o
obj-$(CONFIG_S3C2410_CPUFREQ)
+=
cpu-freq.o
obj-$(CONFIG_S3C2410_PLLTABLE)
+=
pll.o
...
...
arch/arm/mach-s3c2410/dma.c
View file @
c37b2504
...
...
@@ -47,38 +47,26 @@ static struct s3c24xx_dma_map __initdata s3c2410_dma_mappings[] = {
.
channels
[
0
]
=
S3C2410_DCON_CH0_SDI
|
DMA_CH_VALID
,
.
channels
[
2
]
=
S3C2410_DCON_CH2_SDI
|
DMA_CH_VALID
,
.
channels
[
3
]
=
S3C2410_DCON_CH3_SDI
|
DMA_CH_VALID
,
.
hw_addr
.
to
=
S3C2410_PA_IIS
+
S3C2410_IISFIFO
,
.
hw_addr
.
from
=
S3C2410_PA_IIS
+
S3C2410_IISFIFO
,
},
[
DMACH_SPI0
]
=
{
.
name
=
"spi0"
,
.
channels
[
1
]
=
S3C2410_DCON_CH1_SPI
|
DMA_CH_VALID
,
.
hw_addr
.
to
=
S3C2410_PA_SPI
+
S3C2410_SPTDAT
,
.
hw_addr
.
from
=
S3C2410_PA_SPI
+
S3C2410_SPRDAT
,
},
[
DMACH_SPI1
]
=
{
.
name
=
"spi1"
,
.
channels
[
3
]
=
S3C2410_DCON_CH3_SPI
|
DMA_CH_VALID
,
.
hw_addr
.
to
=
S3C2410_PA_SPI
+
0x20
+
S3C2410_SPTDAT
,
.
hw_addr
.
from
=
S3C2410_PA_SPI
+
0x20
+
S3C2410_SPRDAT
,
},
[
DMACH_UART0
]
=
{
.
name
=
"uart0"
,
.
channels
[
0
]
=
S3C2410_DCON_CH0_UART0
|
DMA_CH_VALID
,
.
hw_addr
.
to
=
S3C2410_PA_UART0
+
S3C2410_UTXH
,
.
hw_addr
.
from
=
S3C2410_PA_UART0
+
S3C2410_URXH
,
},
[
DMACH_UART1
]
=
{
.
name
=
"uart1"
,
.
channels
[
1
]
=
S3C2410_DCON_CH1_UART1
|
DMA_CH_VALID
,
.
hw_addr
.
to
=
S3C2410_PA_UART1
+
S3C2410_UTXH
,
.
hw_addr
.
from
=
S3C2410_PA_UART1
+
S3C2410_URXH
,
},
[
DMACH_UART2
]
=
{
.
name
=
"uart2"
,
.
channels
[
3
]
=
S3C2410_DCON_CH3_UART2
|
DMA_CH_VALID
,
.
hw_addr
.
to
=
S3C2410_PA_UART2
+
S3C2410_UTXH
,
.
hw_addr
.
from
=
S3C2410_PA_UART2
+
S3C2410_URXH
,
},
[
DMACH_TIMER
]
=
{
.
name
=
"timer"
,
...
...
@@ -90,12 +78,10 @@ static struct s3c24xx_dma_map __initdata s3c2410_dma_mappings[] = {
.
name
=
"i2s-sdi"
,
.
channels
[
1
]
=
S3C2410_DCON_CH1_I2SSDI
|
DMA_CH_VALID
,
.
channels
[
2
]
=
S3C2410_DCON_CH2_I2SSDI
|
DMA_CH_VALID
,
.
hw_addr
.
from
=
S3C2410_PA_IIS
+
S3C2410_IISFIFO
,
},
[
DMACH_I2S_OUT
]
=
{
.
name
=
"i2s-sdo"
,
.
channels
[
2
]
=
S3C2410_DCON_CH2_I2SSDO
|
DMA_CH_VALID
,
.
hw_addr
.
to
=
S3C2410_PA_IIS
+
S3C2410_IISFIFO
,
},
[
DMACH_USB_EP1
]
=
{
.
name
=
"usb-ep1"
,
...
...
arch/arm/mach-s3c2410/gpio.c
deleted
100644 → 0
View file @
a102a9ec
/* linux/arch/arm/mach-s3c2410/gpio.c
*
* Copyright (c) 2004-2006 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk>
*
* S3C2410 GPIO support
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/io.h>
#include <mach/hardware.h>
#include <mach/gpio-fns.h>
#include <asm/irq.h>
#include <mach/regs-gpio.h>
int
s3c2410_gpio_irqfilter
(
unsigned
int
pin
,
unsigned
int
on
,
unsigned
int
config
)
{
void
__iomem
*
reg
=
S3C24XX_EINFLT0
;
unsigned
long
flags
;
unsigned
long
val
;
if
(
pin
<
S3C2410_GPG
(
8
)
||
pin
>
S3C2410_GPG
(
15
))
return
-
EINVAL
;
config
&=
0xff
;
pin
-=
S3C2410_GPG
(
8
);
reg
+=
pin
&
~
3
;
local_irq_save
(
flags
);
/* update filter width and clock source */
val
=
__raw_readl
(
reg
);
val
&=
~
(
0xff
<<
((
pin
&
3
)
*
8
));
val
|=
config
<<
((
pin
&
3
)
*
8
);
__raw_writel
(
val
,
reg
);
/* update filter enable */
val
=
__raw_readl
(
S3C24XX_EXTINT2
);
val
&=
~
(
1
<<
((
pin
*
4
)
+
3
));
val
|=
on
<<
((
pin
*
4
)
+
3
);
__raw_writel
(
val
,
S3C24XX_EXTINT2
);
local_irq_restore
(
flags
);
return
0
;
}
EXPORT_SYMBOL
(
s3c2410_gpio_irqfilter
);
arch/arm/mach-s3c2410/include/mach/map.h
View file @
c37b2504
...
...
@@ -14,9 +14,53 @@
#define __ASM_ARCH_MAP_H
#include <plat/map-base.h>
#include <plat/map.h>
#define S3C2410_ADDR(x) S3C_ADDR(x)
/*
* S3C2410 UART offset is 0x4000 but the other SoCs are 0x400.
* So need to define it, and here is to avoid redefinition warning.
*/
#define S3C_UART_OFFSET (0x4000)
#include <plat/map-s3c.h>
/*
* interrupt controller is the first thing we put in, to make
* the assembly code for the irq detection easier
*/
#define S3C2410_PA_IRQ (0x4A000000)
#define S3C24XX_SZ_IRQ SZ_1M
/* memory controller registers */
#define S3C2410_PA_MEMCTRL (0x48000000)
#define S3C24XX_SZ_MEMCTRL SZ_1M
/* UARTs */
#define S3C_VA_UARTx(uart) (S3C_VA_UART + ((uart * S3C_UART_OFFSET)))
/* Timers */
#define S3C2410_PA_TIMER (0x51000000)
#define S3C24XX_SZ_TIMER SZ_1M
/* Clock and Power management */
#define S3C24XX_SZ_CLKPWR SZ_1M
/* USB Device port */
#define S3C2410_PA_USBDEV (0x52000000)
#define S3C24XX_SZ_USBDEV SZ_1M
/* Watchdog */
#define S3C2410_PA_WATCHDOG (0x53000000)
#define S3C24XX_SZ_WATCHDOG SZ_1M
/* Standard size definitions for peripheral blocks. */
#define S3C24XX_SZ_UART SZ_1M
#define S3C24XX_SZ_IIS SZ_1M
#define S3C24XX_SZ_ADC SZ_1M
#define S3C24XX_SZ_SPI SZ_1M
#define S3C24XX_SZ_SDI SZ_1M
#define S3C24XX_SZ_NAND SZ_1M
#define S3C24XX_SZ_GPIO SZ_1M
/* USB host controller */
#define S3C2410_PA_USBHOST (0x49000000)
...
...
@@ -75,10 +119,8 @@
/* S3C2412 memory and IO controls */
#define S3C2412_PA_SSMC (0x4F000000)
#define S3C2412_VA_SSMC S3C_ADDR_CPU(0x00000000)
#define S3C2412_PA_EBI (0x48800000)
#define S3C2412_VA_EBI S3C_ADDR_CPU(0x00010000)
/* physical addresses of all the chip-select areas */
...
...
@@ -100,12 +142,10 @@
#define S3C24XX_PA_DMA S3C2410_PA_DMA
#define S3C24XX_PA_CLKPWR S3C2410_PA_CLKPWR
#define S3C24XX_PA_LCD S3C2410_PA_LCD
#define S3C24XX_PA_UART S3C2410_PA_UART
#define S3C24XX_PA_TIMER S3C2410_PA_TIMER
#define S3C24XX_PA_USBDEV S3C2410_PA_USBDEV
#define S3C24XX_PA_WATCHDOG S3C2410_PA_WATCHDOG
#define S3C24XX_PA_IIS S3C2410_PA_IIS
#define S3C24XX_PA_GPIO S3C2410_PA_GPIO
#define S3C24XX_PA_RTC S3C2410_PA_RTC
#define S3C24XX_PA_ADC S3C2410_PA_ADC
#define S3C24XX_PA_SPI S3C2410_PA_SPI
...
...
arch/arm/mach-s3c2412/Kconfig
View file @
c37b2504
...
...
@@ -9,7 +9,6 @@ config CPU_S3C2412
select CPU_LLSERIAL_S3C2440
select S3C2412_PM if PM
select S3C2412_DMA if S3C2410_DMA
select S3C2410_GPIO
help
Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line
...
...
arch/arm/mach-s3c2412/Makefile
View file @
c37b2504
...
...
@@ -12,7 +12,6 @@ obj- :=
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
obj-$(CONFIG_S3C2412_PM_SLEEP)
+=
sleep.o
...
...
arch/arm/mach-s3c2412/dma.c
View file @
c37b2504
...
...
@@ -50,64 +50,46 @@ static struct s3c24xx_dma_map __initdata s3c2412_dma_mappings[] = {
.
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"
,
...
...
arch/arm/mach-s3c2412/gpio.c
deleted
100644 → 0
View file @
a102a9ec
/* linux/arch/arm/mach-s3c2412/gpio.c
*
* Copyright (c) 2007 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk>
*
* 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/module.h>
#include <linux/interrupt.h>
#include <linux/gpio.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <mach/regs-gpio.h>
#include <mach/hardware.h>
#include <plat/gpio-core.h>
int
s3c2412_gpio_set_sleepcfg
(
unsigned
int
pin
,
unsigned
int
state
)
{
struct
s3c_gpio_chip
*
chip
=
s3c_gpiolib_getchip
(
pin
);
unsigned
long
offs
=
pin
-
chip
->
chip
.
base
;
unsigned
long
flags
;
unsigned
long
slpcon
;
offs
*=
2
;
if
(
pin
<
S3C2410_GPB
(
0
))
return
-
EINVAL
;
if
(
pin
>=
S3C2410_GPF
(
0
)
&&
pin
<=
S3C2410_GPG
(
16
))
return
-
EINVAL
;
if
(
pin
>
S3C2410_GPH
(
16
))
return
-
EINVAL
;
local_irq_save
(
flags
);
slpcon
=
__raw_readl
(
chip
->
base
+
0x0C
);
slpcon
&=
~
(
3
<<
offs
);
slpcon
|=
state
<<
offs
;
__raw_writel
(
slpcon
,
chip
->
base
+
0x0C
);
local_irq_restore
(
flags
);
return
0
;
}
EXPORT_SYMBOL
(
s3c2412_gpio_set_sleepcfg
);
arch/arm/mach-s3c2440/Kconfig
View file @
c37b2504
...
...
@@ -8,7 +8,6 @@ config CPU_S3C2440
select S3C_GPIO_PULL_UP
select S3C2410_CLOCK
select S3C2410_PM if PM
select S3C2410_GPIO
select S3C2440_DMA if S3C2410_DMA
select CPU_S3C244X
select CPU_LLSERIAL_S3C2440
...
...
@@ -20,7 +19,6 @@ config CPU_S3C2442
select CPU_ARM920T
select S3C_GPIO_PULL_DOWN
select S3C2410_CLOCK
select S3C2410_GPIO
select S3C2410_PM if PM
select CPU_S3C244X
select CPU_LLSERIAL_S3C2440
...
...
arch/arm/mach-s3c2440/dma.c
View file @
c37b2504
...
...
@@ -48,38 +48,26 @@ static struct s3c24xx_dma_map __initdata s3c2440_dma_mappings[] = {
.
channels
[
1
]
=
S3C2440_DCON_CH1_SDI
|
DMA_CH_VALID
,
.
channels
[
2
]
=
S3C2410_DCON_CH2_SDI
|
DMA_CH_VALID
,
.
channels
[
3
]
=
S3C2410_DCON_CH3_SDI
|
DMA_CH_VALID
,
.
hw_addr
.
to
=
S3C2410_PA_IIS
+
S3C2410_IISFIFO
,
.
hw_addr
.
from
=
S3C2410_PA_IIS
+
S3C2410_IISFIFO
,
},
[
DMACH_SPI0
]
=
{
.
name
=
"spi0"
,
.
channels
[
1
]
=
S3C2410_DCON_CH1_SPI
|
DMA_CH_VALID
,
.
hw_addr
.
to
=
S3C2410_PA_SPI
+
S3C2410_SPTDAT
,
.
hw_addr
.
from
=
S3C2410_PA_SPI
+
S3C2410_SPRDAT
,
},
[
DMACH_SPI1
]
=
{
.
name
=
"spi1"
,
.
channels
[
3
]
=
S3C2410_DCON_CH3_SPI
|
DMA_CH_VALID
,
.
hw_addr
.
to
=
S3C2410_PA_SPI
+
0x20
+
S3C2410_SPTDAT
,
.
hw_addr
.
from
=
S3C2410_PA_SPI
+
0x20
+
S3C2410_SPRDAT
,
},
[
DMACH_UART0
]
=
{
.
name
=
"uart0"
,
.
channels
[
0
]
=
S3C2410_DCON_CH0_UART0
|
DMA_CH_VALID
,
.
hw_addr
.
to
=
S3C2410_PA_UART0
+
S3C2410_UTXH
,
.
hw_addr
.
from
=
S3C2410_PA_UART0
+
S3C2410_URXH
,
},
[
DMACH_UART1
]
=
{
.
name
=
"uart1"
,
.
channels
[
1
]
=
S3C2410_DCON_CH1_UART1
|
DMA_CH_VALID
,
.
hw_addr
.
to
=
S3C2410_PA_UART1
+
S3C2410_UTXH
,
.
hw_addr
.
from
=
S3C2410_PA_UART1
+
S3C2410_URXH
,
},
[
DMACH_UART2
]
=
{
.
name
=
"uart2"
,
.
channels
[
3
]
=
S3C2410_DCON_CH3_UART2
|
DMA_CH_VALID
,
.
hw_addr
.
to
=
S3C2410_PA_UART2
+
S3C2410_UTXH
,
.
hw_addr
.
from
=
S3C2410_PA_UART2
+
S3C2410_URXH
,
},
[
DMACH_TIMER
]
=
{
.
name
=
"timer"
,
...
...
@@ -91,31 +79,26 @@ static struct s3c24xx_dma_map __initdata s3c2440_dma_mappings[] = {
.
name
=
"i2s-sdi"
,
.
channels
[
1
]
=
S3C2410_DCON_CH1_I2SSDI
|
DMA_CH_VALID
,
.
channels
[
2
]
=
S3C2410_DCON_CH2_I2SSDI
|
DMA_CH_VALID
,
.
hw_addr
.
from
=
S3C2410_PA_IIS
+
S3C2410_IISFIFO
,
},
[
DMACH_I2S_OUT
]
=
{
.
name
=
"i2s-sdo"
,
.
channels
[
0
]
=
S3C2440_DCON_CH0_I2SSDO
|
DMA_CH_VALID
,
.
channels
[
2
]
=
S3C2410_DCON_CH2_I2SSDO
|
DMA_CH_VALID
,
.
hw_addr
.
to
=
S3C2410_PA_IIS
+
S3C2410_IISFIFO
,
},
[
DMACH_PCM_IN
]
=
{
.
name
=
"pcm-in"
,
.
channels
[
0
]
=
S3C2440_DCON_CH0_PCMIN
|
DMA_CH_VALID
,
.
channels
[
2
]
=
S3C2440_DCON_CH2_PCMIN
|
DMA_CH_VALID
,
.
hw_addr
.
from
=
S3C2440_PA_AC97
+
S3C_AC97_PCM_DATA
,
},
[
DMACH_PCM_OUT
]
=
{
.
name
=
"pcm-out"
,
.
channels
[
1
]
=
S3C2440_DCON_CH1_PCMOUT
|
DMA_CH_VALID
,
.
channels
[
3
]
=
S3C2440_DCON_CH3_PCMOUT
|
DMA_CH_VALID
,
.
hw_addr
.
to
=
S3C2440_PA_AC97
+
S3C_AC97_PCM_DATA
,
},
[
DMACH_MIC_IN
]
=
{
.
name
=
"mic-in"
,
.
channels
[
2
]
=
S3C2440_DCON_CH2_MICIN
|
DMA_CH_VALID
,
.
channels
[
3
]
=
S3C2440_DCON_CH3_MICIN
|
DMA_CH_VALID
,
.
hw_addr
.
from
=
S3C2440_PA_AC97
+
S3C_AC97_MIC_DATA
,
},
[
DMACH_USB_EP1
]
=
{
.
name
=
"usb-ep1"
,
...
...
arch/arm/mach-s3c2443/dma.c
View file @
c37b2504
...
...
@@ -54,68 +54,46 @@ static struct s3c24xx_dma_map __initdata s3c2443_dma_mappings[] = {
[
DMACH_SDI
]
=
{
.
name
=
"sdi"
,
.
channels
=
MAP
(
S3C2443_DMAREQSEL_SDI
),
.
hw_addr
.
to
=
S3C2410_PA_IIS
+
S3C2410_IISFIFO
,
.
hw_addr
.
from
=
S3C2410_PA_IIS
+
S3C2410_IISFIFO
,
},
[
DMACH_SPI0
]
=
{
.
name
=
"spi0"
,
.
channels
=
MAP
(
S3C2443_DMAREQSEL_SPI0TX
),
.
hw_addr
.
to
=
S3C2410_PA_SPI
+
S3C2410_SPTDAT
,
.
hw_addr
.
from
=
S3C2410_PA_SPI
+
S3C2410_SPRDAT
,
},
[
DMACH_SPI1
]
=
{
.
name
=
"spi1"
,
.
channels
=
MAP
(
S3C2443_DMAREQSEL_SPI1TX
),
.
hw_addr
.
to
=
S3C2410_PA_SPI
+
0x20
+
S3C2410_SPTDAT
,
.
hw_addr
.
from
=
S3C2410_PA_SPI
+
0x20
+
S3C2410_SPRDAT
,
},
[
DMACH_UART0
]
=
{
.
name
=
"uart0"
,
.
channels
=
MAP
(
S3C2443_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
(
S3C2443_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
(
S3C2443_DMAREQSEL_UART2_0
),
.
hw_addr
.
to
=
S3C2410_PA_UART2
+
S3C2410_UTXH
,
.
hw_addr
.
from
=
S3C2410_PA_UART2
+
S3C2410_URXH
,
},
[
DMACH_UART3
]
=
{
.
name
=
"uart3"
,
.
channels
=
MAP
(
S3C2443_DMAREQSEL_UART3_0
),
.
hw_addr
.
to
=
S3C2443_PA_UART3
+
S3C2410_UTXH
,
.
hw_addr
.
from
=
S3C2443_PA_UART3
+
S3C2410_URXH
,
},
[
DMACH_UART0_SRC2
]
=
{
.
name
=
"uart0"
,
.
channels
=
MAP
(
S3C2443_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
(
S3C2443_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
(
S3C2443_DMAREQSEL_UART2_1
),
.
hw_addr
.
to
=
S3C2410_PA_UART2
+
S3C2410_UTXH
,
.
hw_addr
.
from
=
S3C2410_PA_UART2
+
S3C2410_URXH
,
},
[
DMACH_UART3_SRC2
]
=
{
.
name
=
"uart3"
,
.
channels
=
MAP
(
S3C2443_DMAREQSEL_UART3_1
),
.
hw_addr
.
to
=
S3C2443_PA_UART3
+
S3C2410_UTXH
,
.
hw_addr
.
from
=
S3C2443_PA_UART3
+
S3C2410_URXH
,
},
[
DMACH_TIMER
]
=
{
.
name
=
"timer"
,
...
...
@@ -124,27 +102,22 @@ static struct s3c24xx_dma_map __initdata s3c2443_dma_mappings[] = {
[
DMACH_I2S_IN
]
=
{
.
name
=
"i2s-sdi"
,
.
channels
=
MAP
(
S3C2443_DMAREQSEL_I2SRX
),
.
hw_addr
.
from
=
S3C2410_PA_IIS
+
S3C2410_IISFIFO
,
},
[
DMACH_I2S_OUT
]
=
{
.
name
=
"i2s-sdo"
,
.
channels
=
MAP
(
S3C2443_DMAREQSEL_I2STX
),
.
hw_addr
.
to
=
S3C2410_PA_IIS
+
S3C2410_IISFIFO
,
},
[
DMACH_PCM_IN
]
=
{
.
name
=
"pcm-in"
,
.
channels
=
MAP
(
S3C2443_DMAREQSEL_PCMIN
),
.
hw_addr
.
from
=
S3C2440_PA_AC97
+
S3C_AC97_PCM_DATA
,
},
[
DMACH_PCM_OUT
]
=
{
.
name
=
"pcm-out"
,
.
channels
=
MAP
(
S3C2443_DMAREQSEL_PCMOUT
),
.
hw_addr
.
to
=
S3C2440_PA_AC97
+
S3C_AC97_PCM_DATA
,
},
[
DMACH_MIC_IN
]
=
{
.
name
=
"mic-in"
,
.
channels
=
MAP
(
S3C2443_DMAREQSEL_MICIN
),
.
hw_addr
.
from
=
S3C2440_PA_AC97
+
S3C_AC97_MIC_DATA
,
},
};
...
...
arch/arm/mach-s3c64xx/include/mach/map.h
View file @
c37b2504
...
...
@@ -16,6 +16,7 @@
#define __ASM_ARCH_MAP_H __FILE__
#include <plat/map-base.h>
#include <plat/map-s3c.h>
/*
* Post-mux Chip Select Regions Xm0CSn_
...
...
@@ -83,7 +84,6 @@
#define S3C64XX_PA_IIC1 (0x7F00F000)
#define S3C64XX_PA_GPIO (0x7F008000)
#define S3C64XX_VA_GPIO S3C_ADDR_CPU(0x00000000)
#define S3C64XX_SZ_GPIO SZ_4K
#define S3C64XX_PA_SDRAM (0x50000000)
...
...
@@ -94,16 +94,10 @@
#define S3C64XX_PA_VIC1 (0x71300000)
#define S3C64XX_PA_MODEM (0x74108000)
#define S3C64XX_VA_MODEM S3C_ADDR_CPU(0x00100000)
#define S3C64XX_PA_USBHOST (0x74300000)
#define S3C64XX_PA_USB_HSPHY (0x7C100000)
#define S3C64XX_VA_USB_HSPHY S3C_ADDR_CPU(0x00200000)
/* place VICs close together */
#define VA_VIC0 (S3C_VA_IRQ + 0x00)
#define VA_VIC1 (S3C_VA_IRQ + 0x10000)
/* compatibiltiy defines. */
#define S3C_PA_TIMER S3C64XX_PA_TIMER
...
...
@@ -119,7 +113,6 @@
#define S3C_PA_FB S3C64XX_PA_FB
#define S3C_PA_USBHOST S3C64XX_PA_USBHOST
#define S3C_PA_USB_HSOTG S3C64XX_PA_USB_HSOTG
#define S3C_VA_USB_HSPHY S3C64XX_VA_USB_HSPHY
#define S3C_PA_RTC S3C64XX_PA_RTC
#define S3C_PA_WDT S3C64XX_PA_WATCHDOG
...
...
arch/arm/mach-s3c64xx/mach-crag6410.c
View file @
c37b2504
...
...
@@ -329,9 +329,6 @@ static struct platform_device *crag6410_devices[] __initdata = {
&
s3c_device_fb
,
&
s3c_device_ohci
,
&
s3c_device_usb_hsotg
,
&
s3c_device_adc
,
&
s3c_device_rtc
,
&
s3c_device_ts
,
&
s3c_device_timer
[
0
],
&
s3c64xx_device_iis0
,
&
s3c64xx_device_iis1
,
...
...
arch/arm/mach-s3c64xx/mach-mini6410.c
View file @
c37b2504
...
...
@@ -205,12 +205,6 @@ static struct platform_device mini6410_lcd_powerdev = {
.
dev
.
platform_data
=
&
mini6410_lcd_power_data
,
};
static
struct
s3c2410_ts_mach_info
s3c_ts_platform
__initdata
=
{
.
delay
=
10000
,
.
presc
=
49
,
.
oversampling_shift
=
2
,
};
static
struct
platform_device
*
mini6410_devices
[]
__initdata
=
{
&
mini6410_device_eth
,
&
s3c_device_hsmmc0
,
...
...
@@ -319,7 +313,7 @@ static void __init mini6410_machine_init(void)
s3c_nand_set_platdata
(
&
mini6410_nand_info
);
s3c_fb_set_platdata
(
&
mini6410_lcd_pdata
);
s3c24xx_ts_set_platdata
(
&
s3c_ts_platform
);
s3c24xx_ts_set_platdata
(
NULL
);
/* configure nCS1 width to 16 bits */
...
...
arch/arm/mach-s3c64xx/mach-real6410.c
View file @
c37b2504
...
...
@@ -198,12 +198,6 @@ static struct platform_device *real6410_devices[] __initdata = {
&
s3c_device_ohci
,
};
static
struct
s3c2410_ts_mach_info
s3c_ts_platform
__initdata
=
{
.
delay
=
10000
,
.
presc
=
49
,
.
oversampling_shift
=
2
,
};
static
void
__init
real6410_map_io
(
void
)
{
u32
tmp
;
...
...
@@ -300,7 +294,7 @@ static void __init real6410_machine_init(void)
s3c_fb_set_platdata
(
&
real6410_lcd_pdata
);
s3c_nand_set_platdata
(
&
real6410_nand_info
);
s3c24xx_ts_set_platdata
(
&
s3c_ts_platform
);
s3c24xx_ts_set_platdata
(
NULL
);
/* configure nCS1 width to 16 bits */
...
...
arch/arm/mach-s3c64xx/mach-smdk6410.c
View file @
c37b2504
...
...
@@ -619,12 +619,6 @@ static struct i2c_board_info i2c_devs1[] __initdata = {
{
I2C_BOARD_INFO
(
"24c128"
,
0x57
),
},
/* Samsung S524AD0XD1 */
};
static
struct
s3c2410_ts_mach_info
s3c_ts_platform
__initdata
=
{
.
delay
=
10000
,
.
presc
=
49
,
.
oversampling_shift
=
2
,
};
/* LCD Backlight data */
static
struct
samsung_bl_gpio_info
smdk6410_bl_gpio_info
=
{
.
no
=
S3C64XX_GPF
(
15
),
...
...
@@ -666,7 +660,7 @@ static void __init smdk6410_machine_init(void)
samsung_keypad_set_platdata
(
&
smdk6410_keypad_data
);
s3c24xx_ts_set_platdata
(
&
s3c_ts_platform
);
s3c24xx_ts_set_platdata
(
NULL
);
/* configure nCS1 width to 16 bits */
...
...
arch/arm/mach-s5p64x0/mach-smdk6440.c
View file @
c37b2504
...
...
@@ -129,12 +129,6 @@ static struct i2c_board_info smdk6440_i2c_devs1[] __initdata = {
/* To be populated */
};
static
struct
s3c2410_ts_mach_info
s3c_ts_platform
__initdata
=
{
.
delay
=
10000
,
.
presc
=
49
,
.
oversampling_shift
=
2
,
};
/* LCD Backlight data */
static
struct
samsung_bl_gpio_info
smdk6440_bl_gpio_info
=
{
.
no
=
S5P6440_GPF
(
15
),
...
...
@@ -155,7 +149,7 @@ static void __init smdk6440_map_io(void)
static
void
__init
smdk6440_machine_init
(
void
)
{
s3c24xx_ts_set_platdata
(
&
s3c_ts_platform
);
s3c24xx_ts_set_platdata
(
NULL
);
s3c_i2c0_set_platdata
(
&
s5p6440_i2c0_data
);
s3c_i2c1_set_platdata
(
&
s5p6440_i2c1_data
);
...
...
arch/arm/mach-s5p64x0/mach-smdk6450.c
View file @
c37b2504
...
...
@@ -148,12 +148,6 @@ static struct i2c_board_info smdk6450_i2c_devs1[] __initdata = {
{
I2C_BOARD_INFO
(
"24c128"
,
0x57
),
},
/* Samsung S524AD0XD1 EEPROM */
};
static
struct
s3c2410_ts_mach_info
s3c_ts_platform
__initdata
=
{
.
delay
=
10000
,
.
presc
=
49
,
.
oversampling_shift
=
2
,
};
/* LCD Backlight data */
static
struct
samsung_bl_gpio_info
smdk6450_bl_gpio_info
=
{
.
no
=
S5P6450_GPF
(
15
),
...
...
@@ -174,7 +168,7 @@ static void __init smdk6450_map_io(void)
static
void
__init
smdk6450_machine_init
(
void
)
{
s3c24xx_ts_set_platdata
(
&
s3c_ts_platform
);
s3c24xx_ts_set_platdata
(
NULL
);
s3c_i2c0_set_platdata
(
&
s5p6450_i2c0_data
);
s3c_i2c1_set_platdata
(
&
s5p6450_i2c1_data
);
...
...
arch/arm/mach-s5pc100/mach-smdkc100.c
View file @
c37b2504
...
...
@@ -203,12 +203,6 @@ static struct platform_device *smdkc100_devices[] __initdata = {
&
s5pc100_device_spdif
,
};
static
struct
s3c2410_ts_mach_info
s3c_ts_platform
__initdata
=
{
.
delay
=
10000
,
.
presc
=
49
,
.
oversampling_shift
=
2
,
};
/* LCD Backlight data */
static
struct
samsung_bl_gpio_info
smdkc100_bl_gpio_info
=
{
.
no
=
S5PC100_GPD
(
0
),
...
...
@@ -228,7 +222,7 @@ static void __init smdkc100_map_io(void)
static
void
__init
smdkc100_machine_init
(
void
)
{
s3c24xx_ts_set_platdata
(
&
s3c_ts_platform
);
s3c24xx_ts_set_platdata
(
NULL
);
/* I2C */
s3c_i2c0_set_platdata
(
NULL
);
...
...
arch/arm/mach-s5pv210/Kconfig
View file @
c37b2504
...
...
@@ -14,7 +14,6 @@ config CPU_S5PV210
select S3C_PL330_DMA
select S5P_EXT_INT
select S5P_HRT
select S5PV210_PM if PM
help
Enable S5PV210 CPU support
...
...
@@ -169,9 +168,4 @@ config MACH_TORBRECK
endmenu
config S5PV210_PM
bool
help
Power Management code common to S5PV210
endif
arch/arm/mach-s5pv210/Makefile
View file @
c37b2504
...
...
@@ -14,7 +14,7 @@ obj- :=
obj-$(CONFIG_CPU_S5PV210)
+=
cpu.o init.o clock.o dma.o
obj-$(CONFIG_CPU_S5PV210)
+=
setup-i2c0.o
obj-$(CONFIG_
S5PV210_PM)
+=
pm.o sleep.o
obj-$(CONFIG_
PM)
+=
pm.o sleep.o
# machine support
...
...
arch/arm/mach-s5pv210/mach-smdkv210.c
View file @
c37b2504
...
...
@@ -265,12 +265,6 @@ static struct i2c_board_info smdkv210_i2c_devs2[] __initdata = {
/* To Be Updated */
};
static
struct
s3c2410_ts_mach_info
s3c_ts_platform
__initdata
=
{
.
delay
=
10000
,
.
presc
=
49
,
.
oversampling_shift
=
2
,
};
/* LCD Backlight data */
static
struct
samsung_bl_gpio_info
smdkv210_bl_gpio_info
=
{
.
no
=
S5PV210_GPD0
(
3
),
...
...
@@ -296,7 +290,7 @@ static void __init smdkv210_machine_init(void)
smdkv210_dm9000_init
();
samsung_keypad_set_platdata
(
&
smdkv210_keypad_data
);
s3c24xx_ts_set_platdata
(
&
s3c_ts_platform
);
s3c24xx_ts_set_platdata
(
NULL
);
s3c_i2c0_set_platdata
(
NULL
);
s3c_i2c1_set_platdata
(
NULL
);
...
...
arch/arm/plat-s5p/include/plat/pll.h
View file @
c37b2504
...
...
@@ -72,7 +72,6 @@ static inline unsigned long s5p_get_pll46xx(unsigned long baseclk,
mdiv
=
(
pll_con0
>>
PLL46XX_MDIV_SHIFT
)
&
PLL46XX_MDIV_MASK
;
pdiv
=
(
pll_con0
>>
PLL46XX_PDIV_SHIFT
)
&
PLL46XX_PDIV_MASK
;
sdiv
=
(
pll_con0
>>
PLL46XX_SDIV_SHIFT
)
&
PLL46XX_SDIV_MASK
;
kdiv
=
pll_con1
&
PLL46XX_KDIV_MASK
;
if
(
pll_type
==
pll_4650c
)
kdiv
=
pll_con1
&
PLL4650C_KDIV_MASK
;
...
...
arch/arm/plat-samsung/dev-hsmmc.c
View file @
c37b2504
...
...
@@ -58,22 +58,5 @@ struct platform_device s3c_device_hsmmc0 = {
void
s3c_sdhci0_set_platdata
(
struct
s3c_sdhci_platdata
*
pd
)
{
struct
s3c_sdhci_platdata
*
set
=
&
s3c_hsmmc0_def_platdata
;
set
->
cd_type
=
pd
->
cd_type
;
set
->
ext_cd_init
=
pd
->
ext_cd_init
;
set
->
ext_cd_cleanup
=
pd
->
ext_cd_cleanup
;
set
->
ext_cd_gpio
=
pd
->
ext_cd_gpio
;
set
->
ext_cd_gpio_invert
=
pd
->
ext_cd_gpio_invert
;
if
(
pd
->
max_width
)
set
->
max_width
=
pd
->
max_width
;
if
(
pd
->
cfg_gpio
)
set
->
cfg_gpio
=
pd
->
cfg_gpio
;
if
(
pd
->
cfg_card
)
set
->
cfg_card
=
pd
->
cfg_card
;
if
(
pd
->
host_caps
)
set
->
host_caps
|=
pd
->
host_caps
;
if
(
pd
->
clk_type
)
set
->
clk_type
=
pd
->
clk_type
;
s3c_sdhci_set_platdata
(
pd
,
&
s3c_hsmmc0_def_platdata
);
}
arch/arm/plat-samsung/dev-hsmmc1.c
View file @
c37b2504
...
...
@@ -58,22 +58,5 @@ struct platform_device s3c_device_hsmmc1 = {
void
s3c_sdhci1_set_platdata
(
struct
s3c_sdhci_platdata
*
pd
)
{
struct
s3c_sdhci_platdata
*
set
=
&
s3c_hsmmc1_def_platdata
;
set
->
cd_type
=
pd
->
cd_type
;
set
->
ext_cd_init
=
pd
->
ext_cd_init
;
set
->
ext_cd_cleanup
=
pd
->
ext_cd_cleanup
;
set
->
ext_cd_gpio
=
pd
->
ext_cd_gpio
;
set
->
ext_cd_gpio_invert
=
pd
->
ext_cd_gpio_invert
;
if
(
pd
->
max_width
)
set
->
max_width
=
pd
->
max_width
;
if
(
pd
->
cfg_gpio
)
set
->
cfg_gpio
=
pd
->
cfg_gpio
;
if
(
pd
->
cfg_card
)
set
->
cfg_card
=
pd
->
cfg_card
;
if
(
pd
->
host_caps
)
set
->
host_caps
|=
pd
->
host_caps
;
if
(
pd
->
clk_type
)
set
->
clk_type
=
pd
->
clk_type
;
s3c_sdhci_set_platdata
(
pd
,
&
s3c_hsmmc1_def_platdata
);
}
arch/arm/plat-samsung/dev-hsmmc2.c
View file @
c37b2504
...
...
@@ -59,22 +59,5 @@ struct platform_device s3c_device_hsmmc2 = {
void
s3c_sdhci2_set_platdata
(
struct
s3c_sdhci_platdata
*
pd
)
{
struct
s3c_sdhci_platdata
*
set
=
&
s3c_hsmmc2_def_platdata
;
set
->
cd_type
=
pd
->
cd_type
;
set
->
ext_cd_init
=
pd
->
ext_cd_init
;
set
->
ext_cd_cleanup
=
pd
->
ext_cd_cleanup
;
set
->
ext_cd_gpio
=
pd
->
ext_cd_gpio
;
set
->
ext_cd_gpio_invert
=
pd
->
ext_cd_gpio_invert
;
if
(
pd
->
max_width
)
set
->
max_width
=
pd
->
max_width
;
if
(
pd
->
cfg_gpio
)
set
->
cfg_gpio
=
pd
->
cfg_gpio
;
if
(
pd
->
cfg_card
)
set
->
cfg_card
=
pd
->
cfg_card
;
if
(
pd
->
host_caps
)
set
->
host_caps
|=
pd
->
host_caps
;
if
(
pd
->
clk_type
)
set
->
clk_type
=
pd
->
clk_type
;
s3c_sdhci_set_platdata
(
pd
,
&
s3c_hsmmc2_def_platdata
);
}
arch/arm/plat-samsung/dev-hsmmc3.c
View file @
c37b2504
...
...
@@ -62,22 +62,5 @@ struct platform_device s3c_device_hsmmc3 = {
void
s3c_sdhci3_set_platdata
(
struct
s3c_sdhci_platdata
*
pd
)
{
struct
s3c_sdhci_platdata
*
set
=
&
s3c_hsmmc3_def_platdata
;
set
->
cd_type
=
pd
->
cd_type
;
set
->
ext_cd_init
=
pd
->
ext_cd_init
;
set
->
ext_cd_cleanup
=
pd
->
ext_cd_cleanup
;
set
->
ext_cd_gpio
=
pd
->
ext_cd_gpio
;
set
->
ext_cd_gpio_invert
=
pd
->
ext_cd_gpio_invert
;
if
(
pd
->
max_width
)
set
->
max_width
=
pd
->
max_width
;
if
(
pd
->
cfg_gpio
)
set
->
cfg_gpio
=
pd
->
cfg_gpio
;
if
(
pd
->
cfg_card
)
set
->
cfg_card
=
pd
->
cfg_card
;
if
(
pd
->
host_caps
)
set
->
host_caps
|=
pd
->
host_caps
;
if
(
pd
->
clk_type
)
set
->
clk_type
=
pd
->
clk_type
;
s3c_sdhci_set_platdata
(
pd
,
&
s3c_hsmmc3_def_platdata
);
}
arch/arm/plat-samsung/dev-ts.c
View file @
c37b2504
...
...
@@ -43,8 +43,17 @@ struct platform_device s3c_device_ts = {
.
resource
=
s3c_ts_resource
,
};
static
struct
s3c2410_ts_mach_info
default_ts_data
__initdata
=
{
.
delay
=
10000
,
.
presc
=
49
,
.
oversampling_shift
=
2
,
};
void
__init
s3c24xx_ts_set_platdata
(
struct
s3c2410_ts_mach_info
*
pd
)
{
if
(
!
pd
)
pd
=
&
default_ts_data
;
s3c_set_platdata
(
pd
,
sizeof
(
struct
s3c2410_ts_mach_info
),
&
s3c_device_ts
);
}
arch/arm/plat-samsung/include/plat/dma-s3c24xx.h
View file @
c37b2504
...
...
@@ -18,11 +18,6 @@ extern struct s3c2410_dma_chan s3c2410_chans[S3C_DMA_CHANNELS];
#define DMA_CH_VALID (1<<31)
#define DMA_CH_NEVER (1<<30)
struct
s3c24xx_dma_addr
{
unsigned
long
from
;
unsigned
long
to
;
};
/* struct s3c24xx_dma_map
*
* this holds the mapping information for the channel selected
...
...
@@ -31,7 +26,6 @@ struct s3c24xx_dma_addr {
struct
s3c24xx_dma_map
{
const
char
*
name
;
struct
s3c24xx_dma_addr
hw_addr
;
unsigned
long
channels
[
S3C_DMA_CHANNELS
];
unsigned
long
channels_rx
[
S3C_DMA_CHANNELS
];
...
...
arch/arm/plat-s
3c24xx/include/plat/map
.h
→
arch/arm/plat-s
amsung/include/plat/map-s3c
.h
View file @
c37b2504
/* linux/
include/asm-arm/plat-s3c24xx/map
.h
/* linux/
arch/arm/plat-samsung/include/plat/map-s3c
.h
*
* Copyright (c) 2008 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk>
...
...
@@ -10,58 +10,31 @@
* published by the Free Software Foundation.
*/
#ifndef __ASM_PLAT_
S3C24XX_MAP
_H
#define __ASM_PLAT_
S3C24XX_MAP_H
#ifndef __ASM_PLAT_
MAP_S3C
_H
#define __ASM_PLAT_
MAP_S3C_H __FILE__
/* interrupt controller is the first thing we put in, to make
* the assembly code for the irq detection easier
*/
#define S3C24XX_VA_IRQ S3C_VA_IRQ
#define S3C2410_PA_IRQ (0x4A000000)
#define S3C24XX_SZ_IRQ SZ_1M
/* memory controller registers */
#define S3C24XX_VA_MEMCTRL S3C_VA_MEM
#define S3C2410_PA_MEMCTRL (0x48000000)
#define S3C24XX_SZ_MEMCTRL SZ_1M
/* UARTs */
#define S3C24XX_VA_UART S3C_VA_UART
#define S3C2410_PA_UART (0x50000000)
#define S3C24XX_SZ_UART SZ_1M
#define S3C_UART_OFFSET (0x4000)
#define S3C_VA_UARTx(uart) (S3C_VA_UART + ((uart * S3C_UART_OFFSET)))
/* Timers */
#define S3C24XX_VA_TIMER S3C_VA_TIMER
#define S3C2410_PA_TIMER (0x51000000)
#define S3C24XX_SZ_TIMER SZ_1M
/* Clock and Power management */
#define S3C24XX_VA_CLKPWR S3C_VA_SYS
#define S3C24XX_SZ_CLKPWR SZ_1M
/* USB Device port */
#define S3C2410_PA_USBDEV (0x52000000)
#define S3C24XX_SZ_USBDEV SZ_1M
#define S3C24XX_VA_IRQ S3C_VA_IRQ
#define S3C24XX_VA_MEMCTRL S3C_VA_MEM
#define S3C24XX_VA_UART S3C_VA_UART
/* Watchdog */
#define S3C24XX_VA_WATCHDOG S3C_VA_WATCHDOG
#define S3C2410_PA_WATCHDOG (0x53000000)
#define S3C24XX_SZ_WATCHDOG SZ_1M
#define S3C24XX_VA_TIMER S3C_VA_TIMER
#define S3C24XX_VA_CLKPWR S3C_VA_SYS
#define S3C24XX_VA_WATCHDOG S3C_VA_WATCHDOG
/* Standard size definitions for peripheral blocks. */
#define S3C2412_VA_SSMC S3C_ADDR_CPU(0x00000000)
#define S3C2412_VA_EBI S3C_ADDR_CPU(0x00010000)
#define S3C24XX_SZ_IIS SZ_1M
#define S3C24XX_SZ_ADC SZ_1M
#define S3C24XX_SZ_SPI SZ_1M
#define S3C24XX_SZ_SDI SZ_1M
#define S3C24XX_SZ_NAND SZ_1M
#define S3C2410_PA_UART (0x50000000)
#define S3C24XX_PA_UART S3C2410_PA_UART
/* GPIO ports */
#ifndef S3C_UART_OFFSET
#define S3C_UART_OFFSET (0x400)
#endif
/* the calculation for the VA of this must ensure that
/*
* GPIO ports
*
* the calculation for the VA of this must ensure that
* it is the same distance apart from the UART in the
* phsyical address space, as the initial mapping for the IO
* is done as a 1:1 mapping. This puts it (currently) at
...
...
@@ -69,17 +42,26 @@
* by the base system.
*/
#define S3C2410_PA_GPIO (0x56000000)
#define S3C24XX_VA_GPIO ((S3C24XX_PA_GPIO - S3C24XX_PA_UART) + S3C24XX_VA_UART)
#define S3C24XX_SZ_GPIO SZ_1M
#define S3C2410_PA_GPIO (0x56000000)
#define S3C24XX_PA_GPIO S3C2410_PA_GPIO
#define S3C24XX_VA_GPIO ((S3C24XX_PA_GPIO - S3C24XX_PA_UART) + S3C24XX_VA_UART)
#define S3C64XX_VA_GPIO S3C_ADDR_CPU(0x00000000)
#define S3C64XX_VA_MODEM S3C_ADDR_CPU(0x00100000)
#define S3C64XX_VA_USB_HSPHY S3C_ADDR_CPU(0x00200000)
/* ISA style IO, for each machine to sort out mappings for, if it
* implements it. We reserve two 16M regions for ISA.
#define S3C_VA_USB_HSPHY S3C64XX_VA_USB_HSPHY
/*
* ISA style IO, for each machine to sort out mappings for,
* if it implements it. We reserve two 16M regions for ISA.
*/
#define S3C24XX_VA_ISA_WORD S3C2410_ADDR(0x02000000)
#define S3C24XX_VA_ISA_BYTE S3C2410_ADDR(0x03000000)
#define S3C2410_ADDR(x) S3C_ADDR(x)
#define S3C24XX_VA_ISA_WORD S3C2410_ADDR(0x02000000)
#define S3C24XX_VA_ISA_BYTE S3C2410_ADDR(0x03000000)
/* deal with the registers that move under the 2412/2413 */
...
...
@@ -88,7 +70,7 @@
extern
void
__iomem
*
s3c24xx_va_gpio2
;
#endif
#ifdef CONFIG_CPU_S3C2412_ONLY
#define S3C24XX_VA_GPIO2
(S3C24XX_VA_GPIO + 0x10)
#define S3C24XX_VA_GPIO2
(S3C24XX_VA_GPIO + 0x10)
#else
#define S3C24XX_VA_GPIO2 s3c24xx_va_gpio2
#endif
...
...
@@ -97,4 +79,6 @@ extern void __iomem *s3c24xx_va_gpio2;
#define S3C24XX_VA_GPIO2 S3C24XX_VA_GPIO
#endif
#endif
/* __ASM_PLAT_S3C24XX_MAP_H */
#include <plat/map-s5p.h>
#endif
/* __ASM_PLAT_MAP_S3C_H */
arch/arm/plat-s
5p
/include/plat/map-s5p.h
→
arch/arm/plat-s
amsung
/include/plat/map-s5p.h
View file @
c37b2504
/* linux/arch/arm/plat-s
5p
/include/plat/map-s5p.h
/* linux/arch/arm/plat-s
amsung
/include/plat/map-s5p.h
*
* Copyright (c) 2010 Samsung Electronics Co., Ltd.
* http://www.samsung.com/
...
...
@@ -40,8 +40,6 @@
#define S5P_VA_GIC_CPU S3C_ADDR(0x02810000)
#define S5P_VA_GIC_DIST S3C_ADDR(0x02820000)
#define S3C_VA_USB_HSPHY S3C_ADDR(0x02900000)
#define VA_VIC(x) (S3C_VA_IRQ + ((x) * 0x10000))
#define VA_VIC0 VA_VIC(0)
#define VA_VIC1 VA_VIC(1)
...
...
@@ -58,4 +56,6 @@
#define S3C_UART_OFFSET (0x400)
#endif
#include <plat/map-s3c.h>
#endif
/* __ASM_PLAT_MAP_S5P_H */
arch/arm/plat-samsung/include/plat/sdhci.h
View file @
c37b2504
...
...
@@ -86,6 +86,13 @@ struct s3c_sdhci_platdata {
struct
mmc_card
*
card
);
};
/* s3c_sdhci_set_platdata() - common helper for setting SDHCI platform data
* @pd: The default platform data for this device.
* @set: Pointer to the platform data to fill in.
*/
extern
void
s3c_sdhci_set_platdata
(
struct
s3c_sdhci_platdata
*
pd
,
struct
s3c_sdhci_platdata
*
set
);
/**
* s3c_sdhci0_set_platdata - Set platform data for S3C SDHCI device.
* @pd: Platform data to register to device.
...
...
arch/arm/plat-samsung/platformdata.c
View file @
c37b2504
...
...
@@ -14,6 +14,7 @@
#include <linux/platform_device.h>
#include <plat/devs.h>
#include <plat/sdhci.h>
void
__init
*
s3c_set_platdata
(
void
*
pd
,
size_t
pdsize
,
struct
platform_device
*
pdev
)
...
...
@@ -35,3 +36,24 @@ void __init *s3c_set_platdata(void *pd, size_t pdsize,
pdev
->
dev
.
platform_data
=
npd
;
return
npd
;
}
void
s3c_sdhci_set_platdata
(
struct
s3c_sdhci_platdata
*
pd
,
struct
s3c_sdhci_platdata
*
set
)
{
set
->
cd_type
=
pd
->
cd_type
;
set
->
ext_cd_init
=
pd
->
ext_cd_init
;
set
->
ext_cd_cleanup
=
pd
->
ext_cd_cleanup
;
set
->
ext_cd_gpio
=
pd
->
ext_cd_gpio
;
set
->
ext_cd_gpio_invert
=
pd
->
ext_cd_gpio_invert
;
if
(
pd
->
max_width
)
set
->
max_width
=
pd
->
max_width
;
if
(
pd
->
cfg_gpio
)
set
->
cfg_gpio
=
pd
->
cfg_gpio
;
if
(
pd
->
cfg_card
)
set
->
cfg_card
=
pd
->
cfg_card
;
if
(
pd
->
host_caps
)
set
->
host_caps
|=
pd
->
host_caps
;
if
(
pd
->
clk_type
)
set
->
clk_type
=
pd
->
clk_type
;
}
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