Commit d60d506e authored by Olof Johansson's avatar Olof Johansson

Merge branch 'next/cleanup-s3c24xx' of...

Merge branch 'next/cleanup-s3c24xx' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup

* 'next/cleanup-s3c24xx' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (24 commits)
  ARM: S3C24XX: remove call to s3c24xx_setup_clocks
  ARM: S3C24XX: add get_rate for clk_p on S3C2416/2443
  ARM: S3C24XX: add get_rate for clk_h on S3C2416/2443
  ARM: S3C24XX: remove XXX_setup_clocks method from S3C2443
  ARM: S3C24XX: remove obsolete S3C2416_DMA option
  ARM: S3C24XX: Reuse S3C2443 dma for S3C2416
  ARM: S3C24XX: Fix indentation of dma-s3c2443
  ARM: S3C24XX: Move device setup files to mach directory
  ARM: S3C24XX: Consolidate Simtec extensions
  ARM: S3C24XX: move simtec-specific code to mach directory
  ARM: S3C24XX: Move common-smdk code to mach directory
  ARM: S3C24XX: Move s3c2443-clock.c to mach-s3c24xx
  ARM: s3c2410_defconfig: update s3c2410_defconfig
  ARM: S3C2443: move mach-s3c2443/* into mach-s3c24xx/
  ARM: S3C2440: move mach-s3c2440/* into mach-s3c24xx/
  ARM: S3C2416: move mach-s3c2416/* into mach-s3c24xx/
  ARM: S3C2412: move mach-s3c2412/* into mach-s3c24xx/
  ARM: S3C2410: move mach-s3c2410/* into mach-s3c24xx/
  ARM: S3C24XX: change the ARCH_S3C2410 to ARCH_S3C24XX
  ARM: S3C2410: move s3c2410_baseclk_add to clock.h
  ...
parents 62f38343 2e5ac943
...@@ -769,22 +769,21 @@ config ARCH_SA1100 ...@@ -769,22 +769,21 @@ config ARCH_SA1100
help help
Support for StrongARM 11x0 based boards. Support for StrongARM 11x0 based boards.
config ARCH_S3C2410 config ARCH_S3C24XX
bool "Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443, S3C2450" bool "Samsung S3C24XX SoCs"
select GENERIC_GPIO select GENERIC_GPIO
select ARCH_HAS_CPUFREQ select ARCH_HAS_CPUFREQ
select HAVE_CLK select HAVE_CLK
select CLKDEV_LOOKUP select CLKDEV_LOOKUP
select ARCH_USES_GETTIMEOFFSET select ARCH_USES_GETTIMEOFFSET
select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_I2C if I2C
select HAVE_S3C_RTC if RTC_CLASS
select HAVE_S3C2410_WATCHDOG if WATCHDOG
help help
Samsung S3C2410X CPU based systems, such as the Simtec Electronics Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or and S3C2450 SoCs based systems, such as the Simtec Electronics BAST
the Samsung SMDK2410 development board (and derivatives). (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the
Samsung SMDK2410 development board (and derivatives).
Note, the S3C2416 and the S3C2450 are so close that they even share
the same SoC ID code. This means that there is no separate machine
directory (no arch/arm/mach-s3c2450) as the S3C2416 was first.
config ARCH_S3C64XX config ARCH_S3C64XX
bool "Samsung S3C64XX" bool "Samsung S3C64XX"
...@@ -1072,12 +1071,10 @@ source "arch/arm/plat-s5p/Kconfig" ...@@ -1072,12 +1071,10 @@ source "arch/arm/plat-s5p/Kconfig"
source "arch/arm/plat-spear/Kconfig" source "arch/arm/plat-spear/Kconfig"
if ARCH_S3C2410 source "arch/arm/mach-s3c24xx/Kconfig"
source "arch/arm/mach-s3c2410/Kconfig" if ARCH_S3C24XX
source "arch/arm/mach-s3c2412/Kconfig" source "arch/arm/mach-s3c2412/Kconfig"
source "arch/arm/mach-s3c2416/Kconfig"
source "arch/arm/mach-s3c2440/Kconfig" source "arch/arm/mach-s3c2440/Kconfig"
source "arch/arm/mach-s3c2443/Kconfig"
endif endif
if ARCH_S3C64XX if ARCH_S3C64XX
...@@ -1594,7 +1591,7 @@ source kernel/Kconfig.preempt ...@@ -1594,7 +1591,7 @@ source kernel/Kconfig.preempt
config HZ config HZ
int int
default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P64X0 || \ default 200 if ARCH_EBSA110 || ARCH_S3C24XX || ARCH_S5P64X0 || \
ARCH_S5PV210 || ARCH_EXYNOS4 ARCH_S5PV210 || ARCH_EXYNOS4
default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
default AT91_TIMER_HZ if ARCH_AT91 default AT91_TIMER_HZ if ARCH_AT91
...@@ -2120,7 +2117,7 @@ config CPU_FREQ_S3C ...@@ -2120,7 +2117,7 @@ config CPU_FREQ_S3C
config CPU_FREQ_S3C24XX config CPU_FREQ_S3C24XX
bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)" bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
depends on ARCH_S3C2410 && CPU_FREQ && EXPERIMENTAL depends on ARCH_S3C24XX && CPU_FREQ && EXPERIMENTAL
select CPU_FREQ_S3C select CPU_FREQ_S3C
help help
This enables the CPUfreq driver for the Samsung S3C24XX family This enables the CPUfreq driver for the Samsung S3C24XX family
......
...@@ -174,7 +174,7 @@ machine-$(CONFIG_ARCH_PRIMA2) := prima2 ...@@ -174,7 +174,7 @@ machine-$(CONFIG_ARCH_PRIMA2) := prima2
machine-$(CONFIG_ARCH_PXA) := pxa machine-$(CONFIG_ARCH_PXA) := pxa
machine-$(CONFIG_ARCH_REALVIEW) := realview machine-$(CONFIG_ARCH_REALVIEW) := realview
machine-$(CONFIG_ARCH_RPC) := rpc machine-$(CONFIG_ARCH_RPC) := rpc
machine-$(CONFIG_ARCH_S3C2410) := s3c2410 s3c2412 s3c2416 s3c2440 s3c2443 machine-$(CONFIG_ARCH_S3C24XX) := s3c24xx s3c2412 s3c2440
machine-$(CONFIG_ARCH_S3C64XX) := s3c64xx machine-$(CONFIG_ARCH_S3C64XX) := s3c64xx
machine-$(CONFIG_ARCH_S5P64X0) := s5p64x0 machine-$(CONFIG_ARCH_S5P64X0) := s5p64x0
machine-$(CONFIG_ARCH_S5PC100) := s5pc100 machine-$(CONFIG_ARCH_S5PC100) := s5pc100
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
add \rb, \rb, #0x00010000 @ Ser1 add \rb, \rb, #0x00010000 @ Ser1
#endif #endif
.endm .endm
#elif defined(CONFIG_ARCH_S3C2410) #elif defined(CONFIG_ARCH_S3C24XX)
.macro loadsp, rb, tmp .macro loadsp, rb, tmp
mov \rb, #0x50000000 mov \rb, #0x50000000
add \rb, \rb, #0x4000 * CONFIG_S3C_LOWLEVEL_UART_PORT add \rb, \rb, #0x4000 * CONFIG_S3C_LOWLEVEL_UART_PORT
......
...@@ -13,7 +13,7 @@ CONFIG_MODULE_UNLOAD=y ...@@ -13,7 +13,7 @@ CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set # CONFIG_BLK_DEV_BSG is not set
CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_ARCH_S3C2410=y CONFIG_ARCH_S3C24XX=y
CONFIG_S3C_ADC=y CONFIG_S3C_ADC=y
CONFIG_S3C24XX_PWM=y CONFIG_S3C24XX_PWM=y
CONFIG_MACH_MINI2440=y CONFIG_MACH_MINI2440=y
......
...@@ -3,40 +3,47 @@ CONFIG_SYSVIPC=y ...@@ -3,40 +3,47 @@ CONFIG_SYSVIPC=y
CONFIG_IKCONFIG=m CONFIG_IKCONFIG=m
CONFIG_IKCONFIG_PROC=y CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=16 CONFIG_LOG_BUF_SHIFT=16
CONFIG_SYSFS_DEPRECATED_V2=y
CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INITRD=y
CONFIG_SLAB=y CONFIG_SLAB=y
CONFIG_MODULES=y CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set # CONFIG_BLK_DEV_BSG is not set
CONFIG_ARCH_S3C2410=y CONFIG_PARTITION_ADVANCED=y
CONFIG_BSD_DISKLABEL=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_ARCH_S3C24XX=y
CONFIG_S3C_BOOT_ERROR_RESET=y CONFIG_S3C_BOOT_ERROR_RESET=y
CONFIG_S3C_ADC=y CONFIG_S3C_ADC=y
CONFIG_S3C24XX_PWM=y CONFIG_S3C24XX_PWM=y
CONFIG_ARCH_SMDK2410=y CONFIG_CPU_S3C2412=y
CONFIG_CPU_S3C2416=y
CONFIG_CPU_S3C2440=y
CONFIG_CPU_S3C2442=y
CONFIG_CPU_S3C2443=y
CONFIG_MACH_AML_M5900=y
CONFIG_ARCH_BAST=y
CONFIG_ARCH_H1940=y CONFIG_ARCH_H1940=y
CONFIG_MACH_N30=y CONFIG_MACH_N30=y
CONFIG_ARCH_BAST=y
CONFIG_MACH_OTOM=y CONFIG_MACH_OTOM=y
CONFIG_MACH_AML_M5900=y CONFIG_MACH_QT2410=y
CONFIG_ARCH_SMDK2410=y
CONFIG_MACH_TCT_HAMMER=y CONFIG_MACH_TCT_HAMMER=y
CONFIG_MACH_VR1000=y CONFIG_MACH_VR1000=y
CONFIG_MACH_QT2410=y
CONFIG_MACH_JIVE=y CONFIG_MACH_JIVE=y
CONFIG_MACH_SMDK2412=y CONFIG_MACH_SMDK2412=y
CONFIG_MACH_VSTMS=y CONFIG_MACH_VSTMS=y
CONFIG_MACH_SMDK2416=y CONFIG_MACH_SMDK2416=y
CONFIG_MACH_ANUBIS=y CONFIG_MACH_ANUBIS=y
CONFIG_MACH_NEO1973_GTA02=y CONFIG_MACH_AT2440EVB=y
CONFIG_MACH_MINI2440=y
CONFIG_MACH_NEXCODER_2440=y
CONFIG_MACH_OSIRIS=y CONFIG_MACH_OSIRIS=y
CONFIG_MACH_OSIRIS_DVS=m CONFIG_MACH_OSIRIS_DVS=m
CONFIG_MACH_RX3715=y CONFIG_MACH_RX3715=y
CONFIG_ARCH_S3C2440=y CONFIG_ARCH_S3C2440=y
CONFIG_MACH_NEXCODER_2440=y CONFIG_MACH_NEO1973_GTA02=y
CONFIG_SMDK2440_CPU2442=y
CONFIG_MACH_AT2440EVB=y
CONFIG_MACH_MINI2440=y
CONFIG_MACH_RX1950=y CONFIG_MACH_RX1950=y
CONFIG_SMDK2440_CPU2442=y
CONFIG_MACH_SMDK2443=y CONFIG_MACH_SMDK2443=y
# CONFIG_ARM_THUMB is not set # CONFIG_ARM_THUMB is not set
CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_TEXT=0x0
...@@ -45,7 +52,6 @@ CONFIG_CMDLINE="root=/dev/hda1 ro init=/bin/bash console=ttySAC0" ...@@ -45,7 +52,6 @@ CONFIG_CMDLINE="root=/dev/hda1 ro init=/bin/bash console=ttySAC0"
CONFIG_FPE_NWFPE=y CONFIG_FPE_NWFPE=y
CONFIG_FPE_NWFPE_XP=y CONFIG_FPE_NWFPE_XP=y
CONFIG_BINFMT_AOUT=y CONFIG_BINFMT_AOUT=y
CONFIG_PM=y
CONFIG_APM_EMULATION=m CONFIG_APM_EMULATION=m
CONFIG_NET=y CONFIG_NET=y
CONFIG_PACKET=y CONFIG_PACKET=y
...@@ -58,7 +64,6 @@ CONFIG_IP_PNP=y ...@@ -58,7 +64,6 @@ CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y CONFIG_IP_PNP_BOOTP=y
CONFIG_NET_IPIP=m CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
CONFIG_INET_AH=m CONFIG_INET_AH=m
CONFIG_INET_ESP=m CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m CONFIG_INET_IPCOMP=m
...@@ -80,7 +85,6 @@ CONFIG_IPV6_MIP6=m ...@@ -80,7 +85,6 @@ CONFIG_IPV6_MIP6=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
CONFIG_IPV6_TUNNEL=m CONFIG_IPV6_TUNNEL=m
CONFIG_NETFILTER=y CONFIG_NETFILTER=y
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NF_CONNTRACK=m CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CT_PROTO_DCCP=m CONFIG_NF_CT_PROTO_DCCP=m
...@@ -138,7 +142,6 @@ CONFIG_IP_VS=m ...@@ -138,7 +142,6 @@ CONFIG_IP_VS=m
CONFIG_NF_CONNTRACK_IPV4=m CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_IP_NF_QUEUE=m CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_ADDRTYPE=m
CONFIG_IP_NF_MATCH_AH=m CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_TTL=m CONFIG_IP_NF_MATCH_TTL=m
...@@ -150,7 +153,6 @@ CONFIG_NF_NAT=m ...@@ -150,7 +153,6 @@ CONFIG_NF_NAT=m
CONFIG_IP_NF_TARGET_MASQUERADE=m CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_NETMAP=m CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_REDIRECT=m CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_IP_NF_MANGLE=m CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_TARGET_ECN=m CONFIG_IP_NF_TARGET_ECN=m
...@@ -177,8 +179,6 @@ CONFIG_IP6_NF_TARGET_REJECT=m ...@@ -177,8 +179,6 @@ CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_RAW=m
CONFIG_BT=m CONFIG_BT=m
CONFIG_BT_L2CAP=m
CONFIG_BT_SCO=m
CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m CONFIG_BT_BNEP=m
...@@ -199,7 +199,6 @@ CONFIG_MAC80211_MESH=y ...@@ -199,7 +199,6 @@ CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y CONFIG_MAC80211_LEDS=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_MTD=y CONFIG_MTD=y
CONFIG_MTD_PARTITIONS=y
CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_REDBOOT_PARTS=y
CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CMDLINE_PARTS=y
...@@ -221,9 +220,6 @@ CONFIG_BLK_DEV_NBD=m ...@@ -221,9 +220,6 @@ CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_UB=m CONFIG_BLK_DEV_UB=m
CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM=y
CONFIG_ATA_OVER_ETH=m CONFIG_ATA_OVER_ETH=m
CONFIG_EEPROM_AT25=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_93CX6=m
CONFIG_IDE=y CONFIG_IDE=y
CONFIG_BLK_DEV_IDECD=y CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDETAPE=m CONFIG_BLK_DEV_IDETAPE=m
...@@ -240,7 +236,6 @@ CONFIG_SCSI_MULTI_LUN=y ...@@ -240,7 +236,6 @@ CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SCAN_ASYNC=y CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_NETDEVICES=y CONFIG_NETDEVICES=y
CONFIG_NET_ETHERNET=y
CONFIG_DM9000=y CONFIG_DM9000=y
CONFIG_INPUT_EVDEV=y CONFIG_INPUT_EVDEV=y
CONFIG_MOUSE_APPLETOUCH=m CONFIG_MOUSE_APPLETOUCH=m
...@@ -274,7 +269,6 @@ CONFIG_JOYSTICK_XPAD_LEDS=y ...@@ -274,7 +269,6 @@ CONFIG_JOYSTICK_XPAD_LEDS=y
CONFIG_INPUT_TOUCHSCREEN=y CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
CONFIG_INPUT_MISC=y CONFIG_INPUT_MISC=y
CONFIG_INPUT_ATI_REMOTE=m
CONFIG_INPUT_ATI_REMOTE2=m CONFIG_INPUT_ATI_REMOTE2=m
CONFIG_INPUT_KEYSPAN_REMOTE=m CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_POWERMATE=m
...@@ -300,7 +294,6 @@ CONFIG_I2C_SIMTEC=y ...@@ -300,7 +294,6 @@ CONFIG_I2C_SIMTEC=y
CONFIG_SPI=y CONFIG_SPI=y
CONFIG_SPI_GPIO=m CONFIG_SPI_GPIO=m
CONFIG_SPI_S3C24XX=m CONFIG_SPI_S3C24XX=m
CONFIG_SPI_S3C24XX_GPIO=m
CONFIG_SPI_SPIDEV=m CONFIG_SPI_SPIDEV=m
CONFIG_SPI_TLE62X0=m CONFIG_SPI_TLE62X0=m
CONFIG_SENSORS_LM75=m CONFIG_SENSORS_LM75=m
...@@ -315,7 +308,6 @@ CONFIG_FB_MODE_HELPERS=y ...@@ -315,7 +308,6 @@ CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_S3C2410=y CONFIG_FB_S3C2410=y
CONFIG_FB_SM501=y CONFIG_FB_SM501=y
CONFIG_BACKLIGHT_PWM=m CONFIG_BACKLIGHT_PWM=m
# CONFIG_VGA_CONSOLE is not set
CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_SOUND=y CONFIG_SOUND=y
CONFIG_SND=y CONFIG_SND=y
...@@ -330,10 +322,6 @@ CONFIG_SND_VERBOSE_PRINTK=y ...@@ -330,10 +322,6 @@ CONFIG_SND_VERBOSE_PRINTK=y
CONFIG_SND_USB_AUDIO=m CONFIG_SND_USB_AUDIO=m
CONFIG_SND_USB_CAIAQ=m CONFIG_SND_USB_CAIAQ=m
CONFIG_SND_SOC=y CONFIG_SND_SOC=y
CONFIG_SND_S3C24XX_SOC=y
CONFIG_SND_S3C24XX_SOC_JIVE_WM8750=m
CONFIG_SND_S3C24XX_SOC_SMDK2443_WM9710=m
CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650=m
# CONFIG_USB_HID is not set # CONFIG_USB_HID is not set
CONFIG_USB=y CONFIG_USB=y
CONFIG_USB_DEVICEFS=y CONFIG_USB_DEVICEFS=y
...@@ -387,9 +375,7 @@ CONFIG_MMC_TEST=m ...@@ -387,9 +375,7 @@ CONFIG_MMC_TEST=m
CONFIG_MMC_SDHCI=m CONFIG_MMC_SDHCI=m
CONFIG_MMC_SPI=m CONFIG_MMC_SPI=m
CONFIG_MMC_S3C=y CONFIG_MMC_S3C=y
CONFIG_LEDS_CLASS=m
CONFIG_LEDS_S3C24XX=m CONFIG_LEDS_S3C24XX=m
CONFIG_LEDS_H1940=m
CONFIG_LEDS_PCA9532=m CONFIG_LEDS_PCA9532=m
CONFIG_LEDS_GPIO=m CONFIG_LEDS_GPIO=m
CONFIG_LEDS_PCA955X=m CONFIG_LEDS_PCA955X=m
...@@ -410,8 +396,6 @@ CONFIG_EXT3_FS=y ...@@ -410,8 +396,6 @@ CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT4_FS=m CONFIG_EXT4_FS=m
CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_INOTIFY=y
CONFIG_AUTOFS_FS=m
CONFIG_AUTOFS4_FS=m CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m CONFIG_FUSE_FS=m
CONFIG_ISO9660_FS=y CONFIG_ISO9660_FS=y
...@@ -436,9 +420,6 @@ CONFIG_NFSD=m ...@@ -436,9 +420,6 @@ CONFIG_NFSD=m
CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y CONFIG_NFSD_V4=y
CONFIG_CIFS=m CONFIG_CIFS=m
CONFIG_PARTITION_ADVANCED=y
CONFIG_BSD_DISKLABEL=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m CONFIG_NLS_CODEPAGE_775=m
...@@ -481,9 +462,7 @@ CONFIG_MAGIC_SYSRQ=y ...@@ -481,9 +462,7 @@ CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_MUTEXES=y CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_INFO=y CONFIG_DEBUG_INFO=y
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y CONFIG_SYSCTL_SYSCALL_CHECK=y
CONFIG_DEBUG_USER=y CONFIG_DEBUG_USER=y
CONFIG_DEBUG_ERRORS=y
CONFIG_DEBUG_LL=y CONFIG_DEBUG_LL=y
# CONFIG_CRYPTO_ANSI_CPRNG is not set # CONFIG_CRYPTO_ANSI_CPRNG is not set
...@@ -14,7 +14,7 @@ CONFIG_SLOB=y ...@@ -14,7 +14,7 @@ CONFIG_SLOB=y
CONFIG_MODULES=y CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set # CONFIG_BLK_DEV_BSG is not set
CONFIG_ARCH_S3C2410=y CONFIG_ARCH_S3C24XX=y
CONFIG_MACH_TCT_HAMMER=y CONFIG_MACH_TCT_HAMMER=y
CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_ZBOOT_ROM_BSS=0x0
......
...@@ -2,42 +2,6 @@ ...@@ -2,42 +2,6 @@
# #
# Licensed under GPLv2 # Licensed under GPLv2
config CPU_S3C2410
bool
depends on ARCH_S3C2410
select CPU_ARM920T
select S3C2410_CLOCK
select CPU_LLSERIAL_S3C2410
select S3C2410_PM if PM
select S3C2410_CPUFREQ if CPU_FREQ_S3C24XX
help
Support for S3C2410 and S3C2410A family from the S3C24XX line
of Samsung Mobile CPUs.
config CPU_S3C2410_DMA
bool
depends on S3C2410_DMA && (CPU_S3C2410 || CPU_S3C2442)
default y if CPU_S3C2410 || CPU_S3C2442
help
DMA device selection for S3C2410 and compatible CPUs
config S3C2410_PM
bool
help
Power Management code common to S3C2410 and better
config SIMTEC_NOR
bool
help
Internal node to specify machine has simtec NOR mapping
config MACH_BAST_IDE
bool
select HAVE_PATA_PLATFORM
help
Internal node for machines with an BAST style IDE
interface
# cpu frequency scaling support # cpu frequency scaling support
config S3C2410_CPUFREQ config S3C2410_CPUFREQ
...@@ -54,121 +18,3 @@ config S3C2410_PLLTABLE ...@@ -54,121 +18,3 @@ config S3C2410_PLLTABLE
help help
Select the PLL table for the S3C2410 Select the PLL table for the S3C2410
menu "S3C2410 Machines"
config ARCH_SMDK2410
bool "SMDK2410/A9M2410"
select CPU_S3C2410
select MACH_SMDK
help
Say Y here if you are using the SMDK2410 or the derived module A9M2410
<http://www.fsforth.de>
config ARCH_H1940
bool "IPAQ H1940"
select CPU_S3C2410
select PM_H1940 if PM
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
select S3C2410_SETUP_TS
help
Say Y here if you are using the HP IPAQ H1940
config H1940BT
tristate "Control the state of H1940 bluetooth chip"
depends on ARCH_H1940
select RFKILL
help
This is a simple driver that is able to control
the state of built in bluetooth chip on h1940.
config PM_H1940
bool
help
Internal node for H1940 and related PM
config MACH_N30
bool "Acer N30 family"
select CPU_S3C2410
select MACH_N35
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you want suppt for the Acer N30, Acer N35,
Navman PiN570, Yakumo AlphaX or Airis NC05 PDAs.
config MACH_N35
bool
help
Internal node in order to enable support for Acer N35 if Acer N30 is
selected.
config ARCH_BAST
bool "Simtec Electronics BAST (EB2410ITX)"
select CPU_S3C2410
select S3C2410_IOTIMING if S3C2410_CPUFREQ
select PM_SIMTEC if PM
select SIMTEC_NOR
select MACH_BAST_IDE
select S3C24XX_DCLK
select ISA
select S3C_DEV_HWMON
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using the Simtec Electronics EB2410ITX
development board (also known as BAST)
config MACH_OTOM
bool "NexVision OTOM Board"
select CPU_S3C2410
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using the Nex Vision OTOM board
config MACH_AML_M5900
bool "AML M5900 Series"
select CPU_S3C2410
select PM_SIMTEC if PM
select S3C_DEV_USB_HOST
help
Say Y here if you are using the American Microsystems M5900 Series
<http://www.amltd.com>
config BAST_PC104_IRQ
bool "BAST PC104 IRQ support"
depends on ARCH_BAST
default y
help
Say Y here to enable the PC104 IRQ routing on the
Simtec BAST (EB2410ITX)
config MACH_TCT_HAMMER
bool "TCT Hammer Board"
select CPU_S3C2410
select S3C_DEV_USB_HOST
help
Say Y here if you are using the TinCanTools Hammer Board
<http://www.tincantools.com>
config MACH_VR1000
bool "Thorcom VR1000"
select PM_SIMTEC if PM
select S3C24XX_DCLK
select SIMTEC_NOR
select MACH_BAST_IDE
select CPU_S3C2410
select S3C_DEV_USB_HOST
help
Say Y here if you are using the Thorcom VR1000 board.
config MACH_QT2410
bool "QT2410"
select CPU_S3C2410
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using the Armzone QT2410
endmenu
...@@ -9,32 +9,6 @@ obj-m := ...@@ -9,32 +9,6 @@ obj-m :=
obj-n := obj-n :=
obj- := obj- :=
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_CPUFREQ) += cpu-freq.o obj-$(CONFIG_S3C2410_CPUFREQ) += cpu-freq.o
obj-$(CONFIG_S3C2410_PLLTABLE) += pll.o obj-$(CONFIG_S3C2410_PLLTABLE) += pll.o
# Machine support
obj-$(CONFIG_ARCH_SMDK2410) += mach-smdk2410.o
obj-$(CONFIG_ARCH_H1940) += mach-h1940.o
obj-$(CONFIG_H1940BT) += h1940-bluetooth.o
obj-$(CONFIG_PM_H1940) += pm-h1940.o
obj-$(CONFIG_MACH_N30) += mach-n30.o
obj-$(CONFIG_ARCH_BAST) += mach-bast.o usb-simtec.o
obj-$(CONFIG_MACH_OTOM) += mach-otom.o
obj-$(CONFIG_MACH_AML_M5900) += mach-amlm5900.o
obj-$(CONFIG_BAST_PC104_IRQ) += bast-irq.o
obj-$(CONFIG_MACH_TCT_HAMMER) += mach-tct_hammer.o
obj-$(CONFIG_MACH_VR1000) += mach-vr1000.o usb-simtec.o
obj-$(CONFIG_MACH_QT2410) += mach-qt2410.o
# Common bits of machine support
obj-$(CONFIG_SIMTEC_NOR) += nor-simtec.o
# machine additions
obj-$(CONFIG_MACH_BAST_IDE) += bast-ide.o
/* linux/arch/arm/mach-s3c2410/usb-simtec.h
*
* Copyright (c) 2004 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk>
*
* http://www.simtec.co.uk/products/EB2410ITX/
*
* Simtec BAST and Thorcom VR1000 USB port support 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.
*/
extern int usb_simtec_init(void);
...@@ -2,41 +2,6 @@ ...@@ -2,41 +2,6 @@
# #
# Licensed under GPLv2 # Licensed under GPLv2
config CPU_S3C2412
bool
depends on ARCH_S3C2410
select CPU_ARM926T
select CPU_LLSERIAL_S3C2440
select S3C2412_PM if PM
select S3C2412_DMA if S3C2410_DMA
help
Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line
config CPU_S3C2412_ONLY
bool
depends on ARCH_S3C2410 && !CPU_S3C2410 && \
!CPU_S3C2416 && !CPU_S3C2440 && !CPU_S3C2442 && \
!CPU_S3C2443 && CPU_S3C2412
default y if CPU_S3C2412
config S3C2412_DMA
bool
depends on CPU_S3C2412
help
Internal config node for S3C2412 DMA support
config S3C2412_PM
bool
select S3C2412_PM_SLEEP
help
Internal config node to apply S3C2412 power management
config S3C2412_PM_SLEEP
bool
help
Internal config node to apply sleep for S3C2412 power management.
Can be selected by another SoCs with similar sleep procedure.
# Note, the S3C2412 IOtiming support is in plat-s3c24xx # Note, the S3C2412 IOtiming support is in plat-s3c24xx
config S3C2412_CPUFREQ config S3C2412_CPUFREQ
...@@ -46,53 +11,3 @@ config S3C2412_CPUFREQ ...@@ -46,53 +11,3 @@ config S3C2412_CPUFREQ
default y default y
help help
CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs. CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
menu "S3C2412 Machines"
config MACH_JIVE
bool "Logitech Jive"
select CPU_S3C2412
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using the Logitech Jive.
config MACH_JIVE_SHOW_BOOTLOADER
bool "Allow access to bootloader partitions in MTD (EXPERIMENTAL)"
depends on MACH_JIVE && EXPERIMENTAL
config MACH_SMDK2413
bool "SMDK2413"
select CPU_S3C2412
select MACH_S3C2413
select MACH_SMDK
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using an SMDK2413
config MACH_S3C2413
bool
help
Internal node for S3C2413 version of SMDK2413, so that
machine_is_s3c2413() will work when MACH_SMDK2413 is
selected
config MACH_SMDK2412
bool "SMDK2412"
select MACH_SMDK2413
help
Say Y here if you are using an SMDK2412
Note, this shares support with SMDK2413, so will automatically
select MACH_SMDK2413.
config MACH_VSTMS
bool "VMSTMS"
select CPU_S3C2412
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using an VSTMS board
endmenu
...@@ -9,16 +9,4 @@ obj-m := ...@@ -9,16 +9,4 @@ obj-m :=
obj-n := obj-n :=
obj- := obj- :=
obj-$(CONFIG_CPU_S3C2412) += s3c2412.o
obj-$(CONFIG_CPU_S3C2412) += irq.o
obj-$(CONFIG_CPU_S3C2412) += clock.o
obj-$(CONFIG_S3C2412_DMA) += dma.o
obj-$(CONFIG_S3C2412_PM) += pm.o
obj-$(CONFIG_S3C2412_PM_SLEEP) += sleep.o
obj-$(CONFIG_S3C2412_CPUFREQ) += cpu-freq.o obj-$(CONFIG_S3C2412_CPUFREQ) += cpu-freq.o
# Machine support
obj-$(CONFIG_MACH_JIVE) += mach-jive.o
obj-$(CONFIG_MACH_SMDK2413) += mach-smdk2413.o
obj-$(CONFIG_MACH_VSTMS) += mach-vstms.o
# arch/arm/mach-s3c2416/Kconfig
#
# Copyright 2009 Yauhen Kharuzhy <jekhor@gmail.com>
#
# Licensed under GPLv2
# note, this also supports the S3C2450 which is so similar it has the same
# ID code as the S3C2416.
config CPU_S3C2416
bool
depends on ARCH_S3C2410
select CPU_ARM926T
select S3C2416_DMA if S3C2410_DMA
select CPU_LLSERIAL_S3C2440
select SAMSUNG_CLKSRC
select S3C2443_CLOCK
help
Support for the S3C2416 SoC from the S3C24XX line
config S3C2416_DMA
bool
depends on CPU_S3C2416
help
Internal config node for S3C2416 DMA support
config S3C2416_PM
bool
select S3C2412_PM_SLEEP
help
Internal config node to apply S3C2416 power management
config S3C2416_SETUP_SDHCI
bool
select S3C2416_SETUP_SDHCI_GPIO
help
Internal helper functions for S3C2416 based SDHCI systems
config S3C2416_SETUP_SDHCI_GPIO
bool
help
Common setup code for SDHCI gpio.
menu "S3C2416 Machines"
config MACH_SMDK2416
bool "SMDK2416"
select CPU_S3C2416
select MACH_SMDK
select S3C_DEV_FB
select S3C_DEV_HSMMC
select S3C_DEV_HSMMC1
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
select S3C2416_SETUP_SDHCI
select S3C2416_PM if PM
help
Say Y here if you are using an SMDK2416
endmenu
# arch/arm/mach-s3c2416/Makefile
#
# Copyright 2009 Yauhen Kharuzhy <jekhor@gmail.com>
#
# Licensed under GPLv2
obj-y :=
obj-m :=
obj-n :=
obj- :=
obj-$(CONFIG_CPU_S3C2416) += s3c2416.o clock.o
obj-$(CONFIG_CPU_S3C2416) += irq.o
obj-$(CONFIG_S3C2416_PM) += pm.o
#obj-$(CONFIG_S3C2416_DMA) += dma.o
# Device setup
obj-$(CONFIG_S3C2416_SETUP_SDHCI_GPIO) += setup-sdhci-gpio.o
# Machine support
obj-$(CONFIG_MACH_SMDK2416) += mach-smdk2416.o
...@@ -2,35 +2,6 @@ ...@@ -2,35 +2,6 @@
# #
# Licensed under GPLv2 # Licensed under GPLv2
config CPU_S3C2440
bool
select CPU_ARM920T
select S3C2410_CLOCK
select S3C2410_PM if PM
select S3C2440_DMA if S3C2410_DMA
select CPU_S3C244X
select CPU_LLSERIAL_S3C2440
help
Support for S3C2440 Samsung Mobile CPU based systems.
config CPU_S3C2442
bool
select CPU_ARM920T
select S3C2410_CLOCK
select S3C2410_PM if PM
select CPU_S3C244X
select CPU_LLSERIAL_S3C2440
help
Support for S3C2442 Samsung Mobile CPU based systems.
config CPU_S3C244X
bool
depends on CPU_S3C2440 || CPU_S3C2442
help
Support for S3C2440 and S3C2442 Samsung Mobile CPU based systems.
config S3C2440_CPUFREQ config S3C2440_CPUFREQ
bool "S3C2440/S3C2442 CPU Frequency scaling support" bool "S3C2440/S3C2442 CPU Frequency scaling support"
depends on CPU_FREQ_S3C24XX && (CPU_S3C2440 || CPU_S3C2442) depends on CPU_FREQ_S3C24XX && (CPU_S3C2440 || CPU_S3C2442)
...@@ -64,139 +35,3 @@ config S3C2440_PLL_16934400 ...@@ -64,139 +35,3 @@ config S3C2440_PLL_16934400
default y if CPU_FREQ_S3C24XX_PLL default y if CPU_FREQ_S3C24XX_PLL
help help
PLL tables for S3C2440 or S3C2442 CPUs with 16.934MHz crystals. PLL tables for S3C2440 or S3C2442 CPUs with 16.934MHz crystals.
config S3C2440_DMA
bool
depends on CPU_S3C2440
help
Support for S3C2440 specific DMA code5A
menu "S3C2440 and S3C2442 Machines"
config MACH_ANUBIS
bool "Simtec Electronics ANUBIS"
select CPU_S3C2440
select S3C24XX_DCLK
select PM_SIMTEC if PM
select HAVE_PATA_PLATFORM
select S3C24XX_GPIO_EXTRA64
select S3C2440_XTAL_12000000
select S3C_DEV_USB_HOST
help
Say Y here if you are using the Simtec Electronics ANUBIS
development system
config MACH_NEO1973_GTA02
bool "Openmoko GTA02 / Freerunner phone"
select CPU_S3C2442
select MFD_PCF50633
select PCF50633_GPIO
select I2C
select POWER_SUPPLY
select MACH_NEO1973
select S3C2410_PWM
select S3C_DEV_USB_HOST
help
Say Y here if you are using the Openmoko GTA02 / Freerunner GSM Phone
config MACH_OSIRIS
bool "Simtec IM2440D20 (OSIRIS) module"
select CPU_S3C2440
select S3C24XX_DCLK
select PM_SIMTEC if PM
select S3C24XX_GPIO_EXTRA128
select S3C2440_XTAL_12000000
select S3C2410_IOTIMING if S3C2440_CPUFREQ
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using the Simtec IM2440D20 module, also
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
bool "HP iPAQ rx3715"
select CPU_S3C2440
select S3C2440_XTAL_16934400
select PM_H1940 if PM
select S3C_DEV_NAND
help
Say Y here if you are using the HP iPAQ rx3715.
config ARCH_S3C2440
bool "SMDK2440"
select CPU_S3C2440
select S3C2440_XTAL_16934400
select MACH_SMDK
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using the SMDK2440.
config MACH_NEXCODER_2440
bool "NexVision NEXCODER 2440 Light Board"
select CPU_S3C2440
select S3C2440_XTAL_12000000
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using the Nex Vision NEXCODER 2440 Light Board
config SMDK2440_CPU2440
bool "SMDK2440 with S3C2440 CPU module"
default y if ARCH_S3C2440
select S3C2440_XTAL_16934400
select CPU_S3C2440
config SMDK2440_CPU2442
bool "SMDM2440 with S3C2442 CPU module"
select CPU_S3C2442
config MACH_AT2440EVB
bool "Avantech AT2440EVB development board"
select CPU_S3C2440
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using the AT2440EVB development board
config MACH_MINI2440
bool "MINI2440 development board"
select CPU_S3C2440
select EEPROM_AT24
select NEW_LEDS
select LEDS_CLASS
select LEDS_TRIGGER
select LEDS_TRIGGER_BACKLIGHT
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
help
Say Y here to select support for the MINI2440. Is a 10cm x 10cm board
available via various sources. It can come with a 3.5" or 7" touch LCD.
config MACH_RX1950
bool "HP iPAQ rx1950"
select CPU_S3C2442
select S3C24XX_DCLK
select PM_H1940 if PM
select I2C
select S3C2410_PWM
select S3C_DEV_NAND
select S3C2410_IOTIMING if S3C2440_CPUFREQ
select S3C2440_XTAL_16934400
help
Say Y here if you're using HP iPAQ rx1950
endmenu
...@@ -9,33 +9,9 @@ obj-m := ...@@ -9,33 +9,9 @@ obj-m :=
obj-n := obj-n :=
obj- := obj- :=
obj-$(CONFIG_CPU_S3C2440) += s3c2440.o dsc.o obj-$(CONFIG_CPU_S3C2440) += dsc.o
obj-$(CONFIG_CPU_S3C2442) += s3c2442.o
obj-$(CONFIG_CPU_S3C2440) += irq.o
obj-$(CONFIG_CPU_S3C2440) += clock.o
obj-$(CONFIG_S3C2440_DMA) += dma.o
obj-$(CONFIG_CPU_S3C244X) += s3c244x.o
obj-$(CONFIG_CPU_S3C244X) += s3c244x-irq.o
obj-$(CONFIG_CPU_S3C244X) += s3c244x-clock.o
obj-$(CONFIG_S3C2440_CPUFREQ) += s3c2440-cpufreq.o obj-$(CONFIG_S3C2440_CPUFREQ) += s3c2440-cpufreq.o
obj-$(CONFIG_S3C2440_PLL_12000000) += s3c2440-pll-12000000.o obj-$(CONFIG_S3C2440_PLL_12000000) += s3c2440-pll-12000000.o
obj-$(CONFIG_S3C2440_PLL_16934400) += s3c2440-pll-16934400.o obj-$(CONFIG_S3C2440_PLL_16934400) += s3c2440-pll-16934400.o
# Machine support
obj-$(CONFIG_MACH_ANUBIS) += mach-anubis.o
obj-$(CONFIG_MACH_OSIRIS) += mach-osiris.o
obj-$(CONFIG_MACH_RX3715) += mach-rx3715.o
obj-$(CONFIG_ARCH_S3C2440) += mach-smdk2440.o
obj-$(CONFIG_MACH_NEXCODER_2440) += mach-nexcoder.o
obj-$(CONFIG_MACH_AT2440EVB) += mach-at2440evb.o
obj-$(CONFIG_MACH_MINI2440) += mach-mini2440.o
obj-$(CONFIG_MACH_NEO1973_GTA02) += mach-gta02.o
obj-$(CONFIG_MACH_RX1950) += mach-rx1950.o
# extra machine support
obj-$(CONFIG_MACH_OSIRIS_DVS) += mach-osiris-dvs.o
/*
* Copyright (c) 2011 Samsung Electronics Co., Ltd.
* http://www.samsung.com
*
* Common Header for S3C2440 machines
*
* 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 __ARCH_ARM_MACH_S3C2440_COMMON_H
#define __ARCH_ARM_MACH_S3C2440_COMMON_H
void s3c2440_restart(char mode, const char *cmd);
#endif /* __ARCH_ARM_MACH_S3C2440_COMMON_H */
# Copyright 2007 Simtec Electronics
#
# Licensed under GPLv2
config CPU_S3C2443
bool
depends on ARCH_S3C2410
select CPU_ARM920T
select S3C2443_DMA if S3C2410_DMA
select CPU_LLSERIAL_S3C2440
select SAMSUNG_CLKSRC
select S3C2443_CLOCK
help
Support for the S3C2443 SoC from the S3C24XX line
config S3C2443_DMA
bool
depends on CPU_S3C2443
help
Internal config node for S3C2443 DMA support
menu "S3C2443 Machines"
config MACH_SMDK2443
bool "SMDK2443"
select CPU_S3C2443
select MACH_SMDK
select S3C_DEV_HSMMC1
help
Say Y here if you are using an SMDK2443
endmenu
# arch/arm/mach-s3c2443/Makefile
#
# Copyright 2007 Simtec Electronics
#
# Licensed under GPLv2
obj-y :=
obj-m :=
obj-n :=
obj- :=
obj-$(CONFIG_CPU_S3C2443) += s3c2443.o
obj-$(CONFIG_CPU_S3C2443) += irq.o
obj-$(CONFIG_CPU_S3C2443) += clock.o
obj-$(CONFIG_S3C2443_DMA) += dma.o
# Machine support
obj-$(CONFIG_MACH_SMDK2443) += mach-smdk2443.o
# arch/arm/mach-s3c24xx/Kconfig
#
# Copyright (c) 2012 Samsung Electronics Co., Ltd.
# http://www.samsung.com/
#
# Copyright 2007 Simtec Electronics
#
# Licensed under GPLv2
if ARCH_S3C24XX
menu "SAMSUNG S3C24XX SoCs Support"
comment "S3C24XX SoCs"
config CPU_S3C2410
bool "SAMSUNG S3C2410"
default y
select CPU_ARM920T
select S3C2410_CLOCK
select CPU_LLSERIAL_S3C2410
select S3C2410_PM if PM
select S3C2410_CPUFREQ if CPU_FREQ_S3C24XX
help
Support for S3C2410 and S3C2410A family from the S3C24XX line
of Samsung Mobile CPUs.
config CPU_S3C2412
bool "SAMSUNG S3C2412"
depends on ARCH_S3C24XX
select CPU_ARM926T
select CPU_LLSERIAL_S3C2440
select S3C2412_PM if PM
select S3C2412_DMA if S3C24XX_DMA
help
Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line
config CPU_S3C2416
bool "SAMSUNG S3C2416/S3C2450"
depends on ARCH_S3C24XX
select CPU_ARM926T
select CPU_LLSERIAL_S3C2440
select SAMSUNG_CLKSRC
select S3C2443_COMMON
select S3C2443_DMA if S3C24XX_DMA
select S3C2416_PM if PM
help
Support for the S3C2416 SoC from the S3C24XX line
config CPU_S3C2440
bool "SAMSUNG S3C2440"
select CPU_ARM920T
select CPU_LLSERIAL_S3C2440
select S3C2410_CLOCK
select S3C2410_PM if PM
select S3C2440_DMA if S3C24XX_DMA
help
Support for S3C2440 Samsung Mobile CPU based systems.
config CPU_S3C2442
bool "SAMSUNG S3C2442"
select CPU_ARM920T
select CPU_LLSERIAL_S3C2440
select S3C2410_CLOCK
select S3C2410_PM if PM
help
Support for S3C2442 Samsung Mobile CPU based systems.
config CPU_S3C244X
def_bool y
depends on CPU_S3C2440 || CPU_S3C2442
config CPU_S3C2443
bool "SAMSUNG S3C2443"
depends on ARCH_S3C24XX
select CPU_ARM920T
select CPU_LLSERIAL_S3C2440
select SAMSUNG_CLKSRC
select S3C2443_COMMON
select S3C2443_DMA if S3C24XX_DMA
help
Support for the S3C2443 SoC from the S3C24XX line
# common code
config S3C24XX_SMDK
bool
help
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
config S3C24XX_SIMTEC_PM
bool
help
Common power management code for systems that are
compatible with the Simtec style of power management
config S3C24XX_SIMTEC_USB
bool
help
USB management code for common Simtec S3C24XX boards
config S3C24XX_SETUP_TS
bool
help
Compile in platform device definition for Samsung TouchScreen.
# cpu-specific sections
if CPU_S3C2410
config S3C2410_DMA
bool
depends on S3C24XX_DMA && (CPU_S3C2410 || CPU_S3C2442)
default y if CPU_S3C2410 || CPU_S3C2442
help
DMA device selection for S3C2410 and compatible CPUs
config S3C2410_PM
bool
help
Power Management code common to S3C2410 and better
config S3C24XX_SIMTEC_NOR
bool
help
Internal node to specify machine has simtec NOR mapping
config MACH_BAST_IDE
bool
select HAVE_PATA_PLATFORM
help
Internal node for machines with an BAST style IDE
interface
comment "S3C2410 Boards"
#
# The "S3C2410 Boards" list is ordered alphabetically by option text.
# (without ARCH_ or MACH_)
#
config MACH_AML_M5900
bool "AML M5900 Series"
select S3C24XX_SIMTEC_PM if PM
select S3C_DEV_USB_HOST
help
Say Y here if you are using the American Microsystems M5900 Series
<http://www.amltd.com>
config ARCH_BAST
bool "Simtec Electronics BAST (EB2410ITX)"
select S3C2410_IOTIMING if S3C2410_CPUFREQ
select S3C24XX_SIMTEC_PM if PM
select S3C24XX_SIMTEC_NOR
select S3C24XX_SIMTEC_USB
select MACH_BAST_IDE
select S3C24XX_DCLK
select ISA
select S3C_DEV_HWMON
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using the Simtec Electronics EB2410ITX
development board (also known as BAST)
config BAST_PC104_IRQ
bool "BAST PC104 IRQ support"
depends on ARCH_BAST
default y
help
Say Y here to enable the PC104 IRQ routing on the
Simtec BAST (EB2410ITX)
config ARCH_H1940
bool "IPAQ H1940"
select PM_H1940 if PM
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
select S3C24XX_SETUP_TS
help
Say Y here if you are using the HP IPAQ H1940
config H1940BT
tristate "Control the state of H1940 bluetooth chip"
depends on ARCH_H1940
select RFKILL
help
This is a simple driver that is able to control
the state of built in bluetooth chip on h1940.
config PM_H1940
bool
help
Internal node for H1940 and related PM
config MACH_N30
bool "Acer N30 family"
select MACH_N35
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you want suppt for the Acer N30, Acer N35,
Navman PiN570, Yakumo AlphaX or Airis NC05 PDAs.
config MACH_OTOM
bool "NexVision OTOM Board"
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using the Nex Vision OTOM board
config MACH_QT2410
bool "QT2410"
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using the Armzone QT2410
config ARCH_SMDK2410
bool "SMDK2410/A9M2410"
select S3C24XX_SMDK
help
Say Y here if you are using the SMDK2410 or the derived module A9M2410
<http://www.fsforth.de>
config MACH_TCT_HAMMER
bool "TCT Hammer Board"
select S3C_DEV_USB_HOST
help
Say Y here if you are using the TinCanTools Hammer Board
<http://www.tincantools.com>
config MACH_VR1000
bool "Thorcom VR1000"
select S3C24XX_SIMTEC_PM if PM
select S3C24XX_DCLK
select S3C24XX_SIMTEC_NOR
select MACH_BAST_IDE
select S3C_DEV_USB_HOST
select S3C24XX_SIMTEC_USB
help
Say Y here if you are using the Thorcom VR1000 board.
endif # CPU_S3C2410
config S3C2412_PM_SLEEP
bool
help
Internal config node to apply sleep for S3C2412 power management.
Can be selected by another SoCs such as S3C2416 with similar
sleep procedure.
if CPU_S3C2412
config CPU_S3C2412_ONLY
bool
depends on ARCH_S3C24XX && !CPU_S3C2410 && \
!CPU_S3C2416 && !CPU_S3C2440 && !CPU_S3C2442 && \
!CPU_S3C2443 && CPU_S3C2412
default y
config S3C2412_DMA
bool
help
Internal config node for S3C2412 DMA support
config S3C2412_PM
bool
help
Internal config node to apply S3C2412 power management
comment "S3C2412 Boards"
#
# The "S3C2412 Boards" list is ordered alphabetically by option text.
# (without ARCH_ or MACH_)
#
config MACH_JIVE
bool "Logitech Jive"
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using the Logitech Jive.
config MACH_JIVE_SHOW_BOOTLOADER
bool "Allow access to bootloader partitions in MTD (EXPERIMENTAL)"
depends on MACH_JIVE && EXPERIMENTAL
config MACH_S3C2413
bool
help
Internal node for S3C2413 version of SMDK2413, so that
machine_is_s3c2413() will work when MACH_SMDK2413 is
selected
config MACH_SMDK2412
bool "SMDK2412"
select MACH_SMDK2413
help
Say Y here if you are using an SMDK2412
Note, this shares support with SMDK2413, so will automatically
select MACH_SMDK2413.
config MACH_SMDK2413
bool "SMDK2413"
select MACH_S3C2413
select S3C24XX_SMDK
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using an SMDK2413
config MACH_VSTMS
bool "VMSTMS"
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using an VSTMS board
endif # CPU_S3C2412
if CPU_S3C2416
config S3C2416_PM
bool
select S3C2412_PM_SLEEP
help
Internal config node to apply S3C2416 power management
config S3C2416_SETUP_SDHCI
bool
select S3C2416_SETUP_SDHCI_GPIO
help
Internal helper functions for S3C2416 based SDHCI systems
config S3C2416_SETUP_SDHCI_GPIO
bool
help
Common setup code for SDHCI gpio.
comment "S3C2416 Boards"
config MACH_SMDK2416
bool "SMDK2416"
select S3C24XX_SMDK
select S3C_DEV_FB
select S3C_DEV_HSMMC
select S3C_DEV_HSMMC1
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
select S3C2416_SETUP_SDHCI
help
Say Y here if you are using an SMDK2416
endif # CPU_S3C2416
if CPU_S3C2440
config S3C2440_DMA
bool
help
Support for S3C2440 specific DMA code5A
comment "S3C2440 Boards"
#
# The "S3C2440 Boards" list is ordered alphabetically by option text.
# (without ARCH_ or MACH_)
#
config MACH_ANUBIS
bool "Simtec Electronics ANUBIS"
select S3C24XX_DCLK
select S3C24XX_SIMTEC_PM if PM
select HAVE_PATA_PLATFORM
select S3C24XX_GPIO_EXTRA64
select S3C2440_XTAL_12000000
select S3C_DEV_USB_HOST
help
Say Y here if you are using the Simtec Electronics ANUBIS
development system
config MACH_AT2440EVB
bool "Avantech AT2440EVB development board"
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using the AT2440EVB development board
config MACH_MINI2440
bool "MINI2440 development board"
select EEPROM_AT24
select NEW_LEDS
select LEDS_CLASS
select LEDS_TRIGGER
select LEDS_TRIGGER_BACKLIGHT
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
help
Say Y here to select support for the MINI2440. Is a 10cm x 10cm board
available via various sources. It can come with a 3.5" or 7" touch LCD.
config MACH_NEXCODER_2440
bool "NexVision NEXCODER 2440 Light Board"
select S3C2440_XTAL_12000000
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using the Nex Vision NEXCODER 2440 Light Board
config MACH_OSIRIS
bool "Simtec IM2440D20 (OSIRIS) module"
select S3C24XX_DCLK
select S3C24XX_SIMTEC_PM if PM
select S3C24XX_GPIO_EXTRA128
select S3C2440_XTAL_12000000
select S3C2410_IOTIMING if S3C2440_CPUFREQ
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using the Simtec IM2440D20 module, also
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
bool "HP iPAQ rx3715"
select S3C2440_XTAL_16934400
select PM_H1940 if PM
select S3C_DEV_NAND
help
Say Y here if you are using the HP iPAQ rx3715.
config ARCH_S3C2440
bool "SMDK2440"
select S3C2440_XTAL_16934400
select S3C24XX_SMDK
select S3C_DEV_USB_HOST
select S3C_DEV_NAND
help
Say Y here if you are using the SMDK2440.
config SMDK2440_CPU2440
bool "SMDK2440 with S3C2440 CPU module"
default y if ARCH_S3C2440
select S3C2440_XTAL_16934400
endif # CPU_S3C2440
if CPU_S3C2442
comment "S3C2442 Boards"
#
# The "S3C2442 Boards" list is ordered alphabetically by option text.
# (without ARCH_ or MACH_)
#
config MACH_NEO1973_GTA02
bool "Openmoko GTA02 / Freerunner phone"
select MFD_PCF50633
select PCF50633_GPIO
select I2C
select POWER_SUPPLY
select MACH_NEO1973
select S3C2410_PWM
select S3C_DEV_USB_HOST
help
Say Y here if you are using the Openmoko GTA02 / Freerunner GSM Phone
config MACH_RX1950
bool "HP iPAQ rx1950"
select S3C24XX_DCLK
select PM_H1940 if PM
select I2C
select S3C2410_PWM
select S3C_DEV_NAND
select S3C2410_IOTIMING if S3C2440_CPUFREQ
select S3C2440_XTAL_16934400
help
Say Y here if you're using HP iPAQ rx1950
config SMDK2440_CPU2442
bool "SMDM2440 with S3C2442 CPU module"
endif # CPU_S3C2440
if CPU_S3C2443 || CPU_S3C2416
config S3C2443_COMMON
bool
help
Common code for the S3C2443 and similar processors, which includes
the S3C2416 and S3C2450.
config S3C2443_DMA
bool
help
Internal config node for S3C2443 DMA support
endif # CPU_S3C2443 || CPU_S3C2416
if CPU_S3C2443
comment "S3C2443 Boards"
config MACH_SMDK2443
bool "SMDK2443"
select S3C24XX_SMDK
select S3C_DEV_HSMMC1
help
Say Y here if you are using an SMDK2443
endif # CPU_S3C2443
endmenu # SAMSUNG S3C24XX SoCs Support
endif # ARCH_S3C24XX
# arch/arm/mach-s3c24xx/Makefile
#
# Copyright (c) 2012 Samsung Electronics Co., Ltd.
# http://www.samsung.com/
#
# Copyright 2007 Simtec Electronics
#
# Licensed under GPLv2
obj-y :=
obj-m :=
obj-n :=
obj- :=
# core
obj-$(CONFIG_CPU_S3C2410) += s3c2410.o
obj-$(CONFIG_S3C2410_DMA) += dma-s3c2410.o
obj-$(CONFIG_S3C2410_PM) += pm-s3c2410.o sleep-s3c2410.o
obj-$(CONFIG_CPU_S3C2412) += s3c2412.o irq-s3c2412.o clock-s3c2412.o
obj-$(CONFIG_S3C2412_DMA) += dma-s3c2412.o
obj-$(CONFIG_S3C2412_PM) += pm-s3c2412.o
obj-$(CONFIG_S3C2412_PM_SLEEP) += sleep-s3c2412.o
obj-$(CONFIG_CPU_S3C2416) += s3c2416.o irq-s3c2416.o clock-s3c2416.o
obj-$(CONFIG_S3C2416_PM) += pm-s3c2416.o
obj-$(CONFIG_CPU_S3C2440) += s3c2440.o irq-s3c2440.o clock-s3c2440.o
obj-$(CONFIG_CPU_S3C2442) += s3c2442.o
obj-$(CONFIG_CPU_S3C244X) += s3c244x.o irq-s3c244x.o clock-s3c244x.o
obj-$(CONFIG_S3C2440_DMA) += dma-s3c2440.o
obj-$(CONFIG_CPU_S3C2443) += s3c2443.o irq-s3c2443.o clock-s3c2443.o
# common code
obj-$(CONFIG_S3C2443_COMMON) += common-s3c2443.o
obj-$(CONFIG_S3C2443_DMA) += dma-s3c2443.o
#
# machine support
# following is ordered alphabetically by option text.
#
obj-$(CONFIG_MACH_AML_M5900) += mach-amlm5900.o
obj-$(CONFIG_ARCH_BAST) += mach-bast.o
obj-$(CONFIG_BAST_PC104_IRQ) += bast-irq.o
obj-$(CONFIG_ARCH_H1940) += mach-h1940.o
obj-$(CONFIG_H1940BT) += h1940-bluetooth.o
obj-$(CONFIG_PM_H1940) += pm-h1940.o
obj-$(CONFIG_MACH_N30) += mach-n30.o
obj-$(CONFIG_MACH_OTOM) += mach-otom.o
obj-$(CONFIG_MACH_QT2410) += mach-qt2410.o
obj-$(CONFIG_ARCH_SMDK2410) += mach-smdk2410.o
obj-$(CONFIG_MACH_TCT_HAMMER) += mach-tct_hammer.o
obj-$(CONFIG_MACH_VR1000) += mach-vr1000.o
obj-$(CONFIG_MACH_JIVE) += mach-jive.o
obj-$(CONFIG_MACH_SMDK2413) += mach-smdk2413.o
obj-$(CONFIG_MACH_VSTMS) += mach-vstms.o
obj-$(CONFIG_MACH_SMDK2416) += mach-smdk2416.o
obj-$(CONFIG_MACH_ANUBIS) += mach-anubis.o
obj-$(CONFIG_MACH_AT2440EVB) += mach-at2440evb.o
obj-$(CONFIG_MACH_MINI2440) += mach-mini2440.o
obj-$(CONFIG_MACH_NEXCODER_2440) += mach-nexcoder.o
obj-$(CONFIG_MACH_OSIRIS) += mach-osiris.o
obj-$(CONFIG_MACH_RX3715) += mach-rx3715.o
obj-$(CONFIG_ARCH_S3C2440) += mach-smdk2440.o
obj-$(CONFIG_MACH_NEO1973_GTA02) += mach-gta02.o
obj-$(CONFIG_MACH_RX1950) += mach-rx1950.o
obj-$(CONFIG_MACH_SMDK2443) += mach-smdk2443.o
# common bits of machine support
obj-$(CONFIG_S3C24XX_SMDK) += common-smdk.o
obj-$(CONFIG_S3C24XX_SIMTEC_AUDIO) += simtec-audio.o
obj-$(CONFIG_S3C24XX_SIMTEC_NOR) += simtec-nor.o
obj-$(CONFIG_S3C24XX_SIMTEC_PM) += simtec-pm.o
obj-$(CONFIG_S3C24XX_SIMTEC_USB) += simtec-usb.o
# machine additions
obj-$(CONFIG_MACH_BAST_IDE) += bast-ide.o
obj-$(CONFIG_MACH_OSIRIS_DVS) += mach-osiris-dvs.o
# device setup
obj-$(CONFIG_S3C2416_SETUP_SDHCI_GPIO) += setup-sdhci-gpio.o
obj-$(CONFIG_ARCH_S3C24XX) += setup-i2c.o
obj-$(CONFIG_S3C24XX_SETUP_TS) += setup-ts.o
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
#include <linux/clk.h> #include <linux/clk.h>
#include <plat/s3c2416.h> #include <plat/s3c2416.h>
#include <plat/s3c2443.h>
#include <plat/clock.h> #include <plat/clock.h>
#include <plat/clock-clksrc.h> #include <plat/clock-clksrc.h>
#include <plat/cpu.h> #include <plat/cpu.h>
......
...@@ -179,11 +179,6 @@ static struct clk *clks[] __initdata = { ...@@ -179,11 +179,6 @@ static struct clk *clks[] __initdata = {
&clk_hsmmc, &clk_hsmmc,
}; };
void __init_or_cpufreq s3c2443_setup_clocks(void)
{
s3c2443_common_setup_clocks(s3c2443_get_mpll);
}
void __init s3c2443_init_clocks(int xtal) void __init s3c2443_init_clocks(int xtal)
{ {
unsigned long epllcon = __raw_readl(S3C2443_EPLLCON); unsigned long epllcon = __raw_readl(S3C2443_EPLLCON);
...@@ -196,8 +191,6 @@ void __init s3c2443_init_clocks(int xtal) ...@@ -196,8 +191,6 @@ void __init s3c2443_init_clocks(int xtal)
armdiv, ARRAY_SIZE(armdiv), armdiv, ARRAY_SIZE(armdiv),
S3C2443_CLKDIV0_ARMDIV_MASK); S3C2443_CLKDIV0_ARMDIV_MASK);
s3c2443_setup_clocks();
s3c24xx_register_clocks(clks, ARRAY_SIZE(clks)); s3c24xx_register_clocks(clks, ARRAY_SIZE(clks));
for (ptr = 0; ptr < ARRAY_SIZE(clksrcs); ptr++) for (ptr = 0; ptr < ARRAY_SIZE(clksrcs); ptr++)
......
/* linux/arch/arm/plat-s3c24xx/s3c2443-clock.c /*
* Common code for SoCs starting with the S3C2443
* *
* Copyright (c) 2007, 2010 Simtec Electronics * Copyright (c) 2007, 2010 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk> * Ben Dooks <ben@simtec.co.uk>
* *
* S3C2443 Clock control suport - common code * 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.
*/ */
#include <linux/init.h> #include <linux/init.h>
...@@ -12,7 +21,6 @@ ...@@ -12,7 +21,6 @@
#include <mach/regs-s3c2443-clock.h> #include <mach/regs-s3c2443-clock.h>
#include <plat/s3c2443.h>
#include <plat/clock.h> #include <plat/clock.h>
#include <plat/clock-clksrc.h> #include <plat/clock-clksrc.h>
#include <plat/cpu.h> #include <plat/cpu.h>
...@@ -160,6 +168,44 @@ static struct clk clk_prediv = { ...@@ -160,6 +168,44 @@ static struct clk clk_prediv = {
}, },
}; };
/* hclk divider
*
* divides the prediv and provides the hclk.
*/
static unsigned long s3c2443_hclkdiv_getrate(struct clk *clk)
{
unsigned long rate = clk_get_rate(clk->parent);
unsigned long clkdiv0 = __raw_readl(S3C2443_CLKDIV0);
clkdiv0 &= S3C2443_CLKDIV0_HCLKDIV_MASK;
return rate / (clkdiv0 + 1);
}
static struct clk_ops clk_h_ops = {
.get_rate = s3c2443_hclkdiv_getrate,
};
/* pclk divider
*
* divides the hclk and provides the pclk.
*/
static unsigned long s3c2443_pclkdiv_getrate(struct clk *clk)
{
unsigned long rate = clk_get_rate(clk->parent);
unsigned long clkdiv0 = __raw_readl(S3C2443_CLKDIV0);
clkdiv0 = ((clkdiv0 & S3C2443_CLKDIV0_HALF_PCLK) ? 1 : 0);
return rate / (clkdiv0 + 1);
}
static struct clk_ops clk_p_ops = {
.get_rate = s3c2443_pclkdiv_getrate,
};
/* armdiv /* armdiv
* *
* this clock is sourced from msysclk and can have a number of * this clock is sourced from msysclk and can have a number of
...@@ -516,26 +562,15 @@ static struct clk hsmmc1_clk = { ...@@ -516,26 +562,15 @@ static struct clk hsmmc1_clk = {
.ctrlbit = S3C2443_HCLKCON_HSMMC, .ctrlbit = S3C2443_HCLKCON_HSMMC,
}; };
static inline unsigned long s3c2443_get_hdiv(unsigned long clkcon0)
{
clkcon0 &= S3C2443_CLKDIV0_HCLKDIV_MASK;
return clkcon0 + 1;
}
/* EPLLCON compatible enough to get on/off information */ /* EPLLCON compatible enough to get on/off information */
void __init_or_cpufreq s3c2443_common_setup_clocks(pll_fn get_mpll) void __init_or_cpufreq s3c2443_common_setup_clocks(pll_fn get_mpll)
{ {
unsigned long epllcon = __raw_readl(S3C2443_EPLLCON); unsigned long epllcon = __raw_readl(S3C2443_EPLLCON);
unsigned long mpllcon = __raw_readl(S3C2443_MPLLCON); unsigned long mpllcon = __raw_readl(S3C2443_MPLLCON);
unsigned long clkdiv0 = __raw_readl(S3C2443_CLKDIV0);
struct clk *xtal_clk; struct clk *xtal_clk;
unsigned long xtal; unsigned long xtal;
unsigned long pll; unsigned long pll;
unsigned long fclk;
unsigned long hclk;
unsigned long pclk;
int ptr; int ptr;
xtal_clk = clk_get(NULL, "xtal"); xtal_clk = clk_get(NULL, "xtal");
...@@ -544,18 +579,13 @@ void __init_or_cpufreq s3c2443_common_setup_clocks(pll_fn get_mpll) ...@@ -544,18 +579,13 @@ void __init_or_cpufreq s3c2443_common_setup_clocks(pll_fn get_mpll)
pll = get_mpll(mpllcon, xtal); pll = get_mpll(mpllcon, xtal);
clk_msysclk.clk.rate = pll; clk_msysclk.clk.rate = pll;
clk_mpll.rate = pll;
fclk = clk_get_rate(&clk_armdiv);
hclk = s3c2443_prediv_getrate(&clk_prediv);
hclk /= s3c2443_get_hdiv(clkdiv0);
pclk = hclk / ((clkdiv0 & S3C2443_CLKDIV0_HALF_PCLK) ? 2 : 1);
s3c24xx_setup_clocks(fclk, hclk, pclk);
printk("CPU: MPLL %s %ld.%03ld MHz, cpu %ld.%03ld MHz, mem %ld.%03ld MHz, pclk %ld.%03ld MHz\n", printk("CPU: MPLL %s %ld.%03ld MHz, cpu %ld.%03ld MHz, mem %ld.%03ld MHz, pclk %ld.%03ld MHz\n",
(mpllcon & S3C2443_PLLCON_OFF) ? "off":"on", (mpllcon & S3C2443_PLLCON_OFF) ? "off" : "on",
print_mhz(pll), print_mhz(fclk), print_mhz(pll), print_mhz(clk_get_rate(&clk_armdiv)),
print_mhz(hclk), print_mhz(pclk)); print_mhz(clk_get_rate(&clk_h)),
print_mhz(clk_get_rate(&clk_p)));
for (ptr = 0; ptr < ARRAY_SIZE(clksrc_clks); ptr++) for (ptr = 0; ptr < ARRAY_SIZE(clksrc_clks); ptr++)
s3c_set_clksrc(&clksrc_clks[ptr], true); s3c_set_clksrc(&clksrc_clks[ptr], true);
...@@ -568,7 +598,7 @@ void __init_or_cpufreq s3c2443_common_setup_clocks(pll_fn get_mpll) ...@@ -568,7 +598,7 @@ void __init_or_cpufreq s3c2443_common_setup_clocks(pll_fn get_mpll)
} }
printk("CPU: EPLL %s %ld.%03ld MHz, usb-bus %ld.%03ld MHz\n", printk("CPU: EPLL %s %ld.%03ld MHz, usb-bus %ld.%03ld MHz\n",
(epllcon & S3C2443_PLLCON_OFF) ? "off":"on", (epllcon & S3C2443_PLLCON_OFF) ? "off" : "on",
print_mhz(clk_get_rate(&clk_epll)), print_mhz(clk_get_rate(&clk_epll)),
print_mhz(clk_get_rate(&clk_usb_bus))); print_mhz(clk_get_rate(&clk_usb_bus)));
} }
...@@ -611,9 +641,13 @@ void __init s3c2443_common_init_clocks(int xtal, pll_fn get_mpll, ...@@ -611,9 +641,13 @@ void __init s3c2443_common_init_clocks(int xtal, pll_fn get_mpll,
nr_armdiv = nr_divs; nr_armdiv = nr_divs;
armdivmask = divmask; armdivmask = divmask;
/* s3c2443 parents h and p clocks from prediv */ /* s3c2443 parents h clock from prediv */
clk_h.parent = &clk_prediv; clk_h.parent = &clk_prediv;
clk_p.parent = &clk_prediv; clk_h.ops = &clk_h_ops;
/* and p clock from h clock */
clk_p.parent = &clk_h;
clk_p.ops = &clk_p_ops;
clk_usb_bus.parent = &clk_usb_bus_host.clk; clk_usb_bus.parent = &clk_usb_bus_host.clk;
clk_epll.parent = &clk_epllref.clk; clk_epll.parent = &clk_epllref.clk;
......
...@@ -12,6 +12,12 @@ ...@@ -12,6 +12,12 @@
#ifndef __ARCH_ARM_MACH_S3C2410_COMMON_H #ifndef __ARCH_ARM_MACH_S3C2410_COMMON_H
#define __ARCH_ARM_MACH_S3C2410_COMMON_H #define __ARCH_ARM_MACH_S3C2410_COMMON_H
#ifdef CONFIG_CPU_S3C2410
void s3c2410_restart(char mode, const char *cmd); void s3c2410_restart(char mode, const char *cmd);
#endif
#ifdef CONFIG_CPU_S3C2440
void s3c2440_restart(char mode, const char *cmd);
#endif
#endif /* __ARCH_ARM_MACH_S3C2410_COMMON_H */ #endif /* __ARCH_ARM_MACH_S3C2410_COMMON_H */
...@@ -51,7 +51,7 @@ static struct s3c24xx_dma_map __initdata s3c2443_dma_mappings[] = { ...@@ -51,7 +51,7 @@ static struct s3c24xx_dma_map __initdata s3c2443_dma_mappings[] = {
.name = "xdreq1", .name = "xdreq1",
.channels = MAP(S3C2443_DMAREQSEL_XDREQ1), .channels = MAP(S3C2443_DMAREQSEL_XDREQ1),
}, },
[DMACH_SDI] = { [DMACH_SDI] = { /* only on S3C2443 */
.name = "sdi", .name = "sdi",
.channels = MAP(S3C2443_DMAREQSEL_SDI), .channels = MAP(S3C2443_DMAREQSEL_SDI),
}, },
...@@ -59,7 +59,7 @@ static struct s3c24xx_dma_map __initdata s3c2443_dma_mappings[] = { ...@@ -59,7 +59,7 @@ static struct s3c24xx_dma_map __initdata s3c2443_dma_mappings[] = {
.name = "spi0", .name = "spi0",
.channels = MAP(S3C2443_DMAREQSEL_SPI0TX), .channels = MAP(S3C2443_DMAREQSEL_SPI0TX),
}, },
[DMACH_SPI1] = { [DMACH_SPI1] = { /* only on S3C2443/S3C2450 */
.name = "spi1", .name = "spi1",
.channels = MAP(S3C2443_DMAREQSEL_SPI1TX), .channels = MAP(S3C2443_DMAREQSEL_SPI1TX),
}, },
...@@ -71,11 +71,11 @@ static struct s3c24xx_dma_map __initdata s3c2443_dma_mappings[] = { ...@@ -71,11 +71,11 @@ static struct s3c24xx_dma_map __initdata s3c2443_dma_mappings[] = {
.name = "uart1", .name = "uart1",
.channels = MAP(S3C2443_DMAREQSEL_UART1_0), .channels = MAP(S3C2443_DMAREQSEL_UART1_0),
}, },
[DMACH_UART2] = { [DMACH_UART2] = {
.name = "uart2", .name = "uart2",
.channels = MAP(S3C2443_DMAREQSEL_UART2_0), .channels = MAP(S3C2443_DMAREQSEL_UART2_0),
}, },
[DMACH_UART3] = { [DMACH_UART3] = {
.name = "uart3", .name = "uart3",
.channels = MAP(S3C2443_DMAREQSEL_UART3_0), .channels = MAP(S3C2443_DMAREQSEL_UART3_0),
}, },
...@@ -87,11 +87,11 @@ static struct s3c24xx_dma_map __initdata s3c2443_dma_mappings[] = { ...@@ -87,11 +87,11 @@ static struct s3c24xx_dma_map __initdata s3c2443_dma_mappings[] = {
.name = "uart1", .name = "uart1",
.channels = MAP(S3C2443_DMAREQSEL_UART1_1), .channels = MAP(S3C2443_DMAREQSEL_UART1_1),
}, },
[DMACH_UART2_SRC2] = { [DMACH_UART2_SRC2] = {
.name = "uart2", .name = "uart2",
.channels = MAP(S3C2443_DMAREQSEL_UART2_1), .channels = MAP(S3C2443_DMAREQSEL_UART2_1),
}, },
[DMACH_UART3_SRC2] = { [DMACH_UART3_SRC2] = {
.name = "uart3", .name = "uart3",
.channels = MAP(S3C2443_DMAREQSEL_UART3_1), .channels = MAP(S3C2443_DMAREQSEL_UART3_1),
}, },
...@@ -142,6 +142,23 @@ static int __init s3c2443_dma_add(struct device *dev, ...@@ -142,6 +142,23 @@ static int __init s3c2443_dma_add(struct device *dev,
return s3c24xx_dma_init_map(&s3c2443_dma_sel); return s3c24xx_dma_init_map(&s3c2443_dma_sel);
} }
#ifdef CONFIG_CPU_S3C2416
/* S3C2416 DMA contains the same selection table as the S3C2443 */
static struct subsys_interface s3c2416_dma_interface = {
.name = "s3c2416_dma",
.subsys = &s3c2416_subsys,
.add_dev = s3c2443_dma_add,
};
static int __init s3c2416_dma_init(void)
{
return subsys_interface_register(&s3c2416_dma_interface);
}
arch_initcall(s3c2416_dma_init);
#endif
#ifdef CONFIG_CPU_S3C2443
static struct subsys_interface s3c2443_dma_interface = { static struct subsys_interface s3c2443_dma_interface = {
.name = "s3c2443_dma", .name = "s3c2443_dma",
.subsys = &s3c2443_subsys, .subsys = &s3c2443_subsys,
...@@ -154,3 +171,4 @@ static int __init s3c2443_dma_init(void) ...@@ -154,3 +171,4 @@ static int __init s3c2443_dma_init(void)
} }
arch_initcall(s3c2443_dma_init); arch_initcall(s3c2443_dma_init);
#endif
...@@ -55,6 +55,7 @@ ...@@ -55,6 +55,7 @@
#include <plat/cpu.h> #include <plat/cpu.h>
#include <plat/audio-simtec.h> #include <plat/audio-simtec.h>
#include "simtec.h"
#include "common.h" #include "common.h"
#define COPYRIGHT ", Copyright 2005-2009 Simtec Electronics" #define COPYRIGHT ", Copyright 2005-2009 Simtec Electronics"
......
...@@ -64,8 +64,7 @@ ...@@ -64,8 +64,7 @@
#include <plat/gpio-cfg.h> #include <plat/gpio-cfg.h>
#include <plat/audio-simtec.h> #include <plat/audio-simtec.h>
#include "usb-simtec.h" #include "simtec.h"
#include "nor-simtec.h"
#include "common.h" #include "common.h"
#define COPYRIGHT ", Copyright 2004-2008 Simtec Electronics" #define COPYRIGHT ", Copyright 2004-2008 Simtec Electronics"
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/serial_core.h> #include <linux/serial_core.h>
#include <linux/spi/spi.h> #include <linux/spi/spi.h>
#include <linux/spi/s3c24xx.h>
#include <linux/mmc/host.h> #include <linux/mmc/host.h>
...@@ -73,7 +74,6 @@ ...@@ -73,7 +74,6 @@
#include <mach/regs-gpioj.h> #include <mach/regs-gpioj.h>
#include <mach/fb.h> #include <mach/fb.h>
#include <mach/spi.h>
#include <plat/usb-control.h> #include <plat/usb-control.h>
#include <mach/regs-mem.h> #include <mach/regs-mem.h>
#include <mach/hardware.h> #include <mach/hardware.h>
......
...@@ -51,8 +51,7 @@ ...@@ -51,8 +51,7 @@
#include <plat/iic.h> #include <plat/iic.h>
#include <plat/audio-simtec.h> #include <plat/audio-simtec.h>
#include "usb-simtec.h" #include "simtec.h"
#include "nor-simtec.h"
#include "common.h" #include "common.h"
/* macros for virtual address mods for the io space entries */ /* macros for virtual address mods for the io space entries */
......
...@@ -27,6 +27,8 @@ ...@@ -27,6 +27,8 @@
#include <plat/audio-simtec.h> #include <plat/audio-simtec.h>
#include <plat/devs.h> #include <plat/devs.h>
#include "simtec.h"
/* platform ops for audio */ /* platform ops for audio */
static void simtec_audio_startup_lrroute(void) static void simtec_audio_startup_lrroute(void)
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#include <mach/bast-map.h> #include <mach/bast-map.h>
#include <mach/bast-cpld.h> #include <mach/bast-cpld.h>
#include "nor-simtec.h" #include "simtec.h"
static void simtec_nor_vpp(struct platform_device *pdev, int vpp) static void simtec_nor_vpp(struct platform_device *pdev, int vpp)
{ {
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
#include <plat/usb-control.h> #include <plat/usb-control.h>
#include <plat/devs.h> #include <plat/devs.h>
#include "usb-simtec.h" #include "simtec.h"
/* control power and monitor over-current events on various Simtec /* control power and monitor over-current events on various Simtec
* designed boards. * designed boards.
......
...@@ -4,11 +4,18 @@ ...@@ -4,11 +4,18 @@
* http://armlinux.simtec.co.uk/ * http://armlinux.simtec.co.uk/
* Ben Dooks <ben@simtec.co.uk> * Ben Dooks <ben@simtec.co.uk>
* *
* Simtec NOR mapping * Simtec common functions
* *
* 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
* published by the Free Software Foundation. * published by the Free Software Foundation.
*/ */
struct s3c24xx_audio_simtec_pdata;
extern void nor_simtec_init(void); extern void nor_simtec_init(void);
extern int usb_simtec_init(void);
extern int simtec_audio_add(const char *codec_name, bool has_lr_routing,
struct s3c24xx_audio_simtec_pdata *pdata);
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
config PLAT_S3C24XX config PLAT_S3C24XX
bool bool
depends on ARCH_S3C2410 depends on ARCH_S3C24XX
default y default y
select NO_IOPORT select NO_IOPORT
select ARCH_REQUIRE_GPIOLIB select ARCH_REQUIRE_GPIOLIB
...@@ -44,12 +44,6 @@ config S3C2410_CLOCK ...@@ -44,12 +44,6 @@ config S3C2410_CLOCK
Clock code for the S3C2410, and similar processors which Clock code for the S3C2410, and similar processors which
is currently includes the S3C2410, S3C2440, S3C2442. is currently includes the S3C2410, S3C2440, S3C2442.
config S3C2443_CLOCK
bool
help
Clock code for the S3C2443 and similar processors, which includes
the S3C2416 and S3C2450.
config S3C24XX_DCLK config S3C24XX_DCLK
bool bool
help help
...@@ -76,15 +70,9 @@ config S3C24XX_GPIO_EXTRA128 ...@@ -76,15 +70,9 @@ config S3C24XX_GPIO_EXTRA128
Add an extra 128 gpio numbers to the available GPIO pool. This is Add an extra 128 gpio numbers to the available GPIO pool. This is
available for boards that need extra gpios for external devices. available for boards that need extra gpios for external devices.
config PM_SIMTEC config S3C24XX_DMA
bool
help
Common power management code for systems that are
compatible with the Simtec style of power management
config S3C2410_DMA
bool "S3C2410 DMA support" bool "S3C2410 DMA support"
depends on ARCH_S3C2410 depends on ARCH_S3C24XX
select S3C_DMA select S3C_DMA
help help
S3C2410 DMA support. This is needed for drivers like sound which S3C2410 DMA support. This is needed for drivers like sound which
...@@ -93,31 +81,11 @@ config S3C2410_DMA ...@@ -93,31 +81,11 @@ config S3C2410_DMA
config S3C2410_DMA_DEBUG config S3C2410_DMA_DEBUG
bool "S3C2410 DMA support debug" bool "S3C2410 DMA support debug"
depends on ARCH_S3C2410 && S3C2410_DMA depends on ARCH_S3C24XX && S3C2410_DMA
help help
Enable debugging output for the DMA code. This option sends info Enable debugging output for the DMA code. This option sends info
to the kernel log, at priority KERN_DEBUG. to the kernel log, at priority KERN_DEBUG.
# SPI default pin configuration code
config S3C24XX_SPI_BUS0_GPE11_GPE12_GPE13
bool
help
SPI GPIO configuration code for BUS0 when connected to
GPE11, GPE12 and GPE13.
config S3C24XX_SPI_BUS1_GPG5_GPG6_GPG7
bool
help
SPI GPIO configuration code for BUS 1 when connected to
GPG5, GPG6 and GPG7.
config S3C24XX_SPI_BUS1_GPD8_GPD9_GPD10
bool
help
SPI GPIO configuration code for BUS 1 when connected to
GPD8, GPD9 and GPD10.
# common code for s3c24xx based machines, such as the SMDKs. # common code for s3c24xx based machines, such as the SMDKs.
# cpu frequency items common between s3c2410 and s3c2440/s3c2442 # cpu frequency items common between s3c2410 and s3c2440/s3c2442
...@@ -145,21 +113,4 @@ config S3C2412_IOTIMING ...@@ -145,21 +113,4 @@ config S3C2412_IOTIMING
Intel node to select io timing code that is common to the s3c2412 Intel node to select io timing code that is common to the s3c2412
and the s3c2443. and the s3c2443.
config MACH_SMDK
bool
help
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
config S3C2410_SETUP_TS
bool
help
Compile in platform device definition for Samsung TouchScreen.
endif endif
...@@ -23,28 +23,11 @@ obj-$(CONFIG_CPU_FREQ_S3C24XX_DEBUGFS) += cpu-freq-debugfs.o ...@@ -23,28 +23,11 @@ obj-$(CONFIG_CPU_FREQ_S3C24XX_DEBUGFS) += cpu-freq-debugfs.o
# Architecture dependent builds # Architecture dependent builds
obj-$(CONFIG_PM_SIMTEC) += pm-simtec.o
obj-$(CONFIG_PM) += pm.o obj-$(CONFIG_PM) += pm.o
obj-$(CONFIG_PM) += irq-pm.o obj-$(CONFIG_PM) += irq-pm.o
obj-$(CONFIG_PM) += sleep.o obj-$(CONFIG_PM) += sleep.o
obj-$(CONFIG_S3C2410_CLOCK) += s3c2410-clock.o obj-$(CONFIG_S3C2410_CLOCK) += s3c2410-clock.o
obj-$(CONFIG_S3C2443_CLOCK) += s3c2443-clock.o obj-$(CONFIG_S3C24XX_DMA) += dma.o
obj-$(CONFIG_S3C2410_DMA) += dma.o
obj-$(CONFIG_S3C2410_IOTIMING) += s3c2410-iotiming.o obj-$(CONFIG_S3C2410_IOTIMING) += s3c2410-iotiming.o
obj-$(CONFIG_S3C2412_IOTIMING) += s3c2412-iotiming.o obj-$(CONFIG_S3C2412_IOTIMING) += s3c2412-iotiming.o
obj-$(CONFIG_S3C2410_CPUFREQ_UTILS) += s3c2410-cpufreq-utils.o obj-$(CONFIG_S3C2410_CPUFREQ_UTILS) += s3c2410-cpufreq-utils.o
# device specific setup and/or initialisation
obj-$(CONFIG_ARCH_S3C2410) += setup-i2c.o
obj-$(CONFIG_S3C2410_SETUP_TS) += setup-ts.o
# SPI gpio central GPIO functions
obj-$(CONFIG_S3C24XX_SPI_BUS0_GPE11_GPE12_GPE13) += spi-bus0-gpe11_12_13.o
obj-$(CONFIG_S3C24XX_SPI_BUS1_GPG5_GPG6_GPG7) += spi-bus1-gpg5_6_7.o
obj-$(CONFIG_S3C24XX_SPI_BUS1_GPD8_GPD9_GPD10) += spi-bus1-gpd8_9_10.o
# machine common support
obj-$(CONFIG_MACH_SMDK) += common-smdk.o
obj-$(CONFIG_S3C24XX_SIMTEC_AUDIO) += simtec-audio.o
/* linux/arch/arm/plat-s3c24xx/spi-bus0-gpe11_12_13.c
*
* Copyright (c) 2008 Simtec Electronics
* http://armlinux.simtec.co.uk/
* Ben Dooks <ben@simtec.co.uk>
*
* S3C24XX SPI - gpio configuration for bus 0 on gpe11,12,13
*
* 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.
*/
#include <linux/kernel.h>
#include <linux/gpio.h>
#include <mach/spi.h>
#include <mach/regs-gpio.h>
void s3c24xx_spi_gpiocfg_bus0_gpe11_12_13(struct s3c2410_spi_info *spi,
int enable)
{
if (enable) {
s3c_gpio_cfgpin(S3C2410_GPE(13), S3C2410_GPE13_SPICLK0);
s3c_gpio_cfgpin(S3C2410_GPE(12), S3C2410_GPE12_SPIMOSI0);
s3c_gpio_cfgpin(S3C2410_GPE(11), S3C2410_GPE11_SPIMISO0);
s3c2410_gpio_pullup(S3C2410_GPE(11), 0);
s3c2410_gpio_pullup(S3C2410_GPE(13), 0);
} else {
s3c_gpio_cfgpin(S3C2410_GPE(13), S3C2410_GPIO_INPUT);
s3c_gpio_cfgpin(S3C2410_GPE(11), S3C2410_GPIO_INPUT);
s3c_gpio_setpull(S3C2410_GPE(11), S3C_GPIO_PULL_NONE);
s3c_gpio_setpull(S3C2410_GPE(12), S3C_GPIO_PULL_NONE);
s3c_gpio_setpull(S3C2410_GPE(13), S3C_GPIO_PULL_NONE);
}
}
/* linux/arch/arm/plat-s3c24xx/spi-bus0-gpd8_9_10.c
*
* Copyright (c) 2008 Simtec Electronics
* http://armlinux.simtec.co.uk/
* Ben Dooks <ben@simtec.co.uk>
*
* S3C24XX SPI - gpio configuration for bus 1 on gpd8,9,10
*
* 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.
*/
#include <linux/kernel.h>
#include <linux/gpio.h>
#include <mach/spi.h>
#include <mach/regs-gpio.h>
void s3c24xx_spi_gpiocfg_bus1_gpd8_9_10(struct s3c2410_spi_info *spi,
int enable)
{
printk(KERN_INFO "%s(%d)\n", __func__, enable);
if (enable) {
s3c_gpio_cfgpin(S3C2410_GPD(10), S3C2440_GPD10_SPICLK1);
s3c_gpio_cfgpin(S3C2410_GPD(9), S3C2440_GPD9_SPIMOSI1);
s3c_gpio_cfgpin(S3C2410_GPD(8), S3C2440_GPD8_SPIMISO1);
s3c2410_gpio_pullup(S3C2410_GPD(10), 0);
s3c2410_gpio_pullup(S3C2410_GPD(9), 0);
} else {
s3c_gpio_cfgpin(S3C2410_GPD(8), S3C2410_GPIO_INPUT);
s3c_gpio_cfgpin(S3C2410_GPD(9), S3C2410_GPIO_INPUT);
s3c_gpio_setpull(S3C2410_GPD(10), S3C_GPIO_PULL_NONE);
s3c_gpio_setpull(S3C2410_GPD(9), S3C_GPIO_PULL_NONE);
s3c_gpio_setpull(S3C2410_GPD(8), S3C_GPIO_PULL_NONE);
}
}
/* linux/arch/arm/plat-s3c24xx/spi-bus0-gpg5_6_7.c
*
* Copyright (c) 2008 Simtec Electronics
* http://armlinux.simtec.co.uk/
* Ben Dooks <ben@simtec.co.uk>
*
* S3C24XX SPI - gpio configuration for bus 1 on gpg5,6,7
*
* 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.
*/
#include <linux/kernel.h>
#include <linux/gpio.h>
#include <mach/spi.h>
#include <mach/regs-gpio.h>
void s3c24xx_spi_gpiocfg_bus1_gpg5_6_7(struct s3c2410_spi_info *spi,
int enable)
{
if (enable) {
s3c_gpio_cfgpin(S3C2410_GPG(7), S3C2410_GPG7_SPICLK1);
s3c_gpio_cfgpin(S3C2410_GPG(6), S3C2410_GPG6_SPIMOSI1);
s3c_gpio_cfgpin(S3C2410_GPG(5), S3C2410_GPG5_SPIMISO1);
s3c2410_gpio_pullup(S3C2410_GPG(5), 0);
s3c2410_gpio_pullup(S3C2410_GPG(6), 0);
} else {
s3c_gpio_cfgpin(S3C2410_GPG(7), S3C2410_GPIO_INPUT);
s3c_gpio_cfgpin(S3C2410_GPG(5), S3C2410_GPIO_INPUT);
s3c_gpio_setpull(S3C2410_GPG(5), S3C_GPIO_PULL_NONE);
s3c_gpio_setpull(S3C2410_GPG(6), S3C_GPIO_PULL_NONE);
s3c_gpio_setpull(S3C2410_GPG(7), S3C_GPIO_PULL_NONE);
}
}
...@@ -205,7 +205,7 @@ config S3C_DEV_USB_HSOTG ...@@ -205,7 +205,7 @@ config S3C_DEV_USB_HSOTG
config S3C_DEV_WDT config S3C_DEV_WDT
bool bool
default y if ARCH_S3C2410 default y if ARCH_S3C24XX
help help
Complie in platform device definition for Watchdog Timer Complie in platform device definition for Watchdog Timer
...@@ -264,7 +264,7 @@ config SAMSUNG_DEV_KEYPAD ...@@ -264,7 +264,7 @@ config SAMSUNG_DEV_KEYPAD
config SAMSUNG_DEV_PWM config SAMSUNG_DEV_PWM
bool bool
default y if ARCH_S3C2410 default y if ARCH_S3C24XX
help help
Compile in platform device definition for PWM Timer Compile in platform device definition for PWM Timer
......
...@@ -32,6 +32,3 @@ struct s3c24xx_audio_simtec_pdata { ...@@ -32,6 +32,3 @@ struct s3c24xx_audio_simtec_pdata {
void (*startup)(void); void (*startup)(void);
}; };
extern int simtec_audio_add(const char *codec_name, bool has_lr_routing,
struct s3c24xx_audio_simtec_pdata *pdata);
...@@ -79,6 +79,10 @@ extern struct clk clk_epll; ...@@ -79,6 +79,10 @@ extern struct clk clk_epll;
extern struct clk clk_xtal; extern struct clk clk_xtal;
extern struct clk clk_ext; extern struct clk clk_ext;
/* S3C2443/S3C2416 specific clocks */
extern struct clksrc_clk clk_epllref;
extern struct clksrc_clk clk_esysclk;
/* S3C64XX specific clocks */ /* S3C64XX specific clocks */
extern struct clk clk_h2; extern struct clk clk_h2;
extern struct clk clk_27m; extern struct clk clk_27m;
...@@ -114,7 +118,23 @@ extern void s3c24xx_setup_clocks(unsigned long fclk, ...@@ -114,7 +118,23 @@ extern void s3c24xx_setup_clocks(unsigned long fclk,
extern void s3c2410_setup_clocks(void); extern void s3c2410_setup_clocks(void);
extern void s3c2412_setup_clocks(void); extern void s3c2412_setup_clocks(void);
extern void s3c244x_setup_clocks(void); extern void s3c244x_setup_clocks(void);
extern void s3c2443_setup_clocks(void);
/* S3C2410 specific clock functions */
extern int s3c2410_baseclk_add(void);
/* S3C2443/S3C2416 specific clock functions */
typedef unsigned int (*pll_fn)(unsigned int reg, unsigned int base);
extern void s3c2443_common_setup_clocks(pll_fn get_mpll);
extern void s3c2443_common_init_clocks(int xtal, pll_fn get_mpll,
unsigned int *divs, int nr_divs,
int divmask);
extern int s3c2443_clkcon_enable_h(struct clk *clk, int enable);
extern int s3c2443_clkcon_enable_p(struct clk *clk, int enable);
extern int s3c2443_clkcon_enable_s(struct clk *clk, int enable);
/* S3C64XX specific functions and clocks */ /* S3C64XX specific functions and clocks */
......
...@@ -119,7 +119,7 @@ ...@@ -119,7 +119,7 @@
#define S3C2412_DMAREQSEL_UART2_1 S3C2412_DMAREQSEL_SRC(24) #define S3C2412_DMAREQSEL_UART2_1 S3C2412_DMAREQSEL_SRC(24)
#endif /* CONFIG_CPU_S3C2412 */ #endif /* CONFIG_CPU_S3C2412 */
#ifdef CONFIG_CPU_S3C2443 #if defined(CONFIG_CPU_S3C2416) || defined(CONFIG_CPU_S3C2443)
#define S3C2443_DMAREQSEL_SRC(x) ((x) << 1) #define S3C2443_DMAREQSEL_SRC(x) ((x) << 1)
......
...@@ -29,5 +29,3 @@ extern void s3c2410_init_clocks(int xtal); ...@@ -29,5 +29,3 @@ extern void s3c2410_init_clocks(int xtal);
#define s3c2410_init NULL #define s3c2410_init NULL
#define s3c2410a_init NULL #define s3c2410a_init NULL
#endif #endif
extern int s3c2410_baseclk_add(void);
...@@ -32,23 +32,3 @@ extern void s3c2443_restart(char mode, const char *cmd); ...@@ -32,23 +32,3 @@ extern void s3c2443_restart(char mode, const char *cmd);
#define s3c2443_init NULL #define s3c2443_init NULL
#define s3c2443_restart NULL #define s3c2443_restart NULL
#endif #endif
/* common code used by s3c2443 and others.
* note, not to be used outside of arch/arm/mach-s3c* */
struct clk; /* some files don't need clk.h otherwise */
typedef unsigned int (*pll_fn)(unsigned int reg, unsigned int base);
extern void s3c2443_common_setup_clocks(pll_fn get_mpll);
extern void s3c2443_common_init_clocks(int xtal, pll_fn get_mpll,
unsigned int *divs, int nr_divs,
int divmask);
extern int s3c2443_clkcon_enable_h(struct clk *clk, int enable);
extern int s3c2443_clkcon_enable_p(struct clk *clk, int enable);
extern int s3c2443_clkcon_enable_s(struct clk *clk, int enable);
extern struct clksrc_clk clk_epllref;
extern struct clksrc_clk clk_esysclk;
extern struct clksrc_clk clk_msysclk;
...@@ -215,7 +215,7 @@ config TOUCHSCREEN_FUJITSU ...@@ -215,7 +215,7 @@ config TOUCHSCREEN_FUJITSU
config TOUCHSCREEN_S3C2410 config TOUCHSCREEN_S3C2410
tristate "Samsung S3C2410/generic touchscreen input driver" tristate "Samsung S3C2410/generic touchscreen input driver"
depends on ARCH_S3C2410 || SAMSUNG_DEV_TS depends on ARCH_S3C24XX || SAMSUNG_DEV_TS
select S3C_ADC select S3C_ADC
help help
Say Y here if you have the s3c2410 touchscreen. Say Y here if you have the s3c2410 touchscreen.
......
...@@ -69,7 +69,7 @@ config LEDS_MIKROTIK_RB532 ...@@ -69,7 +69,7 @@ config LEDS_MIKROTIK_RB532
config LEDS_S3C24XX config LEDS_S3C24XX
tristate "LED Support for Samsung S3C24XX GPIO LEDs" tristate "LED Support for Samsung S3C24XX GPIO LEDs"
depends on LEDS_CLASS depends on LEDS_CLASS
depends on ARCH_S3C2410 depends on ARCH_S3C24XX
help help
This option enables support for LEDs connected to GPIO lines This option enables support for LEDs connected to GPIO lines
on Samsung S3C24XX series CPUs, such as the S3C2410 and S3C2440. on Samsung S3C24XX series CPUs, such as the S3C2410 and S3C2440.
......
...@@ -395,7 +395,7 @@ config MMC_SPI ...@@ -395,7 +395,7 @@ config MMC_SPI
config MMC_S3C config MMC_S3C
tristate "Samsung S3C SD/MMC Card Interface support" tristate "Samsung S3C SD/MMC Card Interface support"
depends on ARCH_S3C2410 depends on ARCH_S3C24XX
help help
This selects a driver for the MCI interface found in This selects a driver for the MCI interface found in
Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs. Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs.
......
...@@ -187,7 +187,7 @@ config MTD_NAND_PPCHAMELEONEVB ...@@ -187,7 +187,7 @@ config MTD_NAND_PPCHAMELEONEVB
config MTD_NAND_S3C2410 config MTD_NAND_S3C2410
tristate "NAND Flash support for Samsung S3C SoCs" tristate "NAND Flash support for Samsung S3C SoCs"
depends on ARCH_S3C2410 || ARCH_S3C64XX depends on ARCH_S3C24XX || ARCH_S3C64XX
help help
This enables the NAND flash controller on the S3C24xx and S3C64xx This enables the NAND flash controller on the S3C24xx and S3C64xx
SoCs SoCs
......
...@@ -748,7 +748,7 @@ config HAVE_S3C_RTC ...@@ -748,7 +748,7 @@ config HAVE_S3C_RTC
config RTC_DRV_S3C config RTC_DRV_S3C
tristate "Samsung S3C series SoC RTC" tristate "Samsung S3C series SoC RTC"
depends on ARCH_S3C2410 || ARCH_S3C64XX || HAVE_S3C_RTC depends on ARCH_S3C64XX || HAVE_S3C_RTC
help help
RTC (Realtime Clock) driver for the clock inbuilt into the RTC (Realtime Clock) driver for the clock inbuilt into the
Samsung S3C24XX series of SoCs. This can provide periodic Samsung S3C24XX series of SoCs. This can provide periodic
......
...@@ -281,7 +281,7 @@ config SPI_PXA2XX_PCI ...@@ -281,7 +281,7 @@ config SPI_PXA2XX_PCI
config SPI_S3C24XX config SPI_S3C24XX
tristate "Samsung S3C24XX series SPI" tristate "Samsung S3C24XX series SPI"
depends on ARCH_S3C2410 && EXPERIMENTAL depends on ARCH_S3C24XX && EXPERIMENTAL
select SPI_BITBANG select SPI_BITBANG
help help
SPI driver for Samsung S3C24XX series ARM SoCs SPI driver for Samsung S3C24XX series ARM SoCs
......
...@@ -24,10 +24,10 @@ ...@@ -24,10 +24,10 @@
#include <linux/spi/spi.h> #include <linux/spi/spi.h>
#include <linux/spi/spi_bitbang.h> #include <linux/spi/spi_bitbang.h>
#include <linux/spi/s3c24xx.h>
#include <linux/module.h> #include <linux/module.h>
#include <plat/regs-spi.h> #include <plat/regs-spi.h>
#include <mach/spi.h>
#include <plat/fiq.h> #include <plat/fiq.h>
#include <asm/fiq.h> #include <asm/fiq.h>
......
...@@ -37,7 +37,7 @@ config USB_ARCH_HAS_OHCI ...@@ -37,7 +37,7 @@ config USB_ARCH_HAS_OHCI
# ARM: # ARM:
default y if SA1111 default y if SA1111
default y if ARCH_OMAP default y if ARCH_OMAP
default y if ARCH_S3C2410 default y if ARCH_S3C24XX
default y if PXA27x default y if PXA27x
default y if PXA3xx default y if PXA3xx
default y if ARCH_EP93XX default y if ARCH_EP93XX
......
...@@ -284,7 +284,7 @@ config USB_IMX ...@@ -284,7 +284,7 @@ config USB_IMX
config USB_S3C2410 config USB_S3C2410
tristate "S3C2410 USB Device Controller" tristate "S3C2410 USB Device Controller"
depends on ARCH_S3C2410 depends on ARCH_S3C24XX
help help
Samsung's S3C2410 is an ARM-4 processor with an integrated Samsung's S3C2410 is an ARM-4 processor with an integrated
full speed USB 1.1 device controller. It has 4 configurable full speed USB 1.1 device controller. It has 4 configurable
...@@ -299,7 +299,7 @@ config USB_S3C2410_DEBUG ...@@ -299,7 +299,7 @@ config USB_S3C2410_DEBUG
config USB_S3C_HSUDC config USB_S3C_HSUDC
tristate "S3C2416, S3C2443 and S3C2450 USB Device Controller" tristate "S3C2416, S3C2443 and S3C2450 USB Device Controller"
depends on ARCH_S3C2410 depends on ARCH_S3C24XX
select USB_GADGET_DUALSPEED select USB_GADGET_DUALSPEED
help help
Samsung's S3C2416, S3C2443 and S3C2450 is an ARM9 based SoC Samsung's S3C2416, S3C2443 and S3C2450 is an ARM9 based SoC
......
...@@ -1000,7 +1000,7 @@ MODULE_LICENSE ("GPL"); ...@@ -1000,7 +1000,7 @@ MODULE_LICENSE ("GPL");
#define SA1111_DRIVER ohci_hcd_sa1111_driver #define SA1111_DRIVER ohci_hcd_sa1111_driver
#endif #endif
#if defined(CONFIG_ARCH_S3C2410) || defined(CONFIG_ARCH_S3C64XX) #if defined(CONFIG_ARCH_S3C24XX) || defined(CONFIG_ARCH_S3C64XX)
#include "ohci-s3c2410.c" #include "ohci-s3c2410.c"
#define PLATFORM_DRIVER ohci_hcd_s3c2410_driver #define PLATFORM_DRIVER ohci_hcd_s3c2410_driver
#endif #endif
......
...@@ -2061,7 +2061,7 @@ config FB_S3C_DEBUG_REGWRITE ...@@ -2061,7 +2061,7 @@ config FB_S3C_DEBUG_REGWRITE
config FB_S3C2410 config FB_S3C2410
tristate "S3C2410 LCD framebuffer support" tristate "S3C2410 LCD framebuffer support"
depends on FB && ARCH_S3C2410 depends on FB && ARCH_S3C24XX
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
......
...@@ -170,7 +170,7 @@ config HAVE_S3C2410_WATCHDOG ...@@ -170,7 +170,7 @@ config HAVE_S3C2410_WATCHDOG
config S3C2410_WATCHDOG config S3C2410_WATCHDOG
tristate "S3C2410 Watchdog" tristate "S3C2410 Watchdog"
depends on ARCH_S3C2410 || HAVE_S3C2410_WATCHDOG depends on HAVE_S3C2410_WATCHDOG
select WATCHDOG_CORE select WATCHDOG_CORE
help help
Watchdog timer block in the Samsung SoCs. This will reboot Watchdog timer block in the Samsung SoCs. This will reboot
......
/* arch/arm/mach-s3c2410/include/mach/spi.h /*
*
* Copyright (c) 2006 Simtec Electronics * Copyright (c) 2006 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk> * Ben Dooks <ben@simtec.co.uk>
* *
...@@ -10,8 +9,8 @@ ...@@ -10,8 +9,8 @@
* published by the Free Software Foundation. * published by the Free Software Foundation.
*/ */
#ifndef __ASM_ARCH_SPI_H #ifndef __LINUX_SPI_S3C24XX_H
#define __ASM_ARCH_SPI_H __FILE__ #define __LINUX_SPI_S3C24XX_H __FILE__
struct s3c2410_spi_info { struct s3c2410_spi_info {
int pin_cs; /* simple gpio cs */ int pin_cs; /* simple gpio cs */
...@@ -24,15 +23,4 @@ struct s3c2410_spi_info { ...@@ -24,15 +23,4 @@ struct s3c2410_spi_info {
void (*set_cs)(struct s3c2410_spi_info *spi, int cs, int pol); void (*set_cs)(struct s3c2410_spi_info *spi, int cs, int pol);
}; };
/* Standard setup / suspend routines for SPI GPIO pins. */ #endif /* __LINUX_SPI_S3C24XX_H */
extern void s3c24xx_spi_gpiocfg_bus0_gpe11_12_13(struct s3c2410_spi_info *spi,
int enable);
extern void s3c24xx_spi_gpiocfg_bus1_gpg5_6_7(struct s3c2410_spi_info *spi,
int enable);
extern void s3c24xx_spi_gpiocfg_bus1_gpd8_9_10(struct s3c2410_spi_info *spi,
int enable);
#endif /* __ASM_ARCH_SPI_H */
config SND_SOC_SAMSUNG config SND_SOC_SAMSUNG
tristate "ASoC support for Samsung" tristate "ASoC support for Samsung"
depends on ARCH_S3C2410 || ARCH_S3C64XX || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_S5P64X0 || ARCH_EXYNOS4 depends on ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_S5P64X0 || ARCH_EXYNOS4
select S3C64XX_DMA if ARCH_S3C64XX select S3C64XX_DMA if ARCH_S3C64XX
select S3C2410_DMA if ARCH_S3C2410 select S3C2410_DMA if ARCH_S3C24XX
help help
Say Y or M if you want to add support for codecs attached to Say Y or M if you want to add support for codecs attached to
the Samsung SoCs' Audio interfaces. You will also need to the Samsung SoCs' Audio interfaces. You will also need to
...@@ -84,7 +84,7 @@ config SND_SOC_SAMSUNG_SMDK2443_WM9710 ...@@ -84,7 +84,7 @@ config SND_SOC_SAMSUNG_SMDK2443_WM9710
config SND_SOC_SAMSUNG_LN2440SBC_ALC650 config SND_SOC_SAMSUNG_LN2440SBC_ALC650
tristate "SoC AC97 Audio support for LN2440SBC - ALC650" tristate "SoC AC97 Audio support for LN2440SBC - ALC650"
depends on SND_SOC_SAMSUNG && ARCH_S3C2410 depends on SND_SOC_SAMSUNG && ARCH_S3C24XX
select S3C2410_DMA select S3C2410_DMA
select AC97_BUS select AC97_BUS
select SND_SOC_AC97_CODEC select SND_SOC_AC97_CODEC
...@@ -95,7 +95,7 @@ config SND_SOC_SAMSUNG_LN2440SBC_ALC650 ...@@ -95,7 +95,7 @@ config SND_SOC_SAMSUNG_LN2440SBC_ALC650
config SND_SOC_SAMSUNG_S3C24XX_UDA134X config SND_SOC_SAMSUNG_S3C24XX_UDA134X
tristate "SoC I2S Audio support UDA134X wired to a S3C24XX" tristate "SoC I2S Audio support UDA134X wired to a S3C24XX"
depends on SND_SOC_SAMSUNG && ARCH_S3C2410 depends on SND_SOC_SAMSUNG && ARCH_S3C24XX
select SND_S3C24XX_I2S select SND_S3C24XX_I2S
select SND_SOC_L3 select SND_SOC_L3
select SND_SOC_UDA134X select SND_SOC_UDA134X
...@@ -107,14 +107,14 @@ config SND_SOC_SAMSUNG_SIMTEC ...@@ -107,14 +107,14 @@ config SND_SOC_SAMSUNG_SIMTEC
config SND_SOC_SAMSUNG_SIMTEC_TLV320AIC23 config SND_SOC_SAMSUNG_SIMTEC_TLV320AIC23
tristate "SoC I2S Audio support for TLV320AIC23 on Simtec boards" tristate "SoC I2S Audio support for TLV320AIC23 on Simtec boards"
depends on SND_SOC_SAMSUNG && ARCH_S3C2410 depends on SND_SOC_SAMSUNG && ARCH_S3C24XX
select SND_S3C24XX_I2S select SND_S3C24XX_I2S
select SND_SOC_TLV320AIC23 select SND_SOC_TLV320AIC23
select SND_SOC_SAMSUNG_SIMTEC select SND_SOC_SAMSUNG_SIMTEC
config SND_SOC_SAMSUNG_SIMTEC_HERMES config SND_SOC_SAMSUNG_SIMTEC_HERMES
tristate "SoC I2S Audio support for Simtec Hermes board" tristate "SoC I2S Audio support for Simtec Hermes board"
depends on SND_SOC_SAMSUNG && ARCH_S3C2410 depends on SND_SOC_SAMSUNG && ARCH_S3C24XX
select SND_S3C24XX_I2S select SND_S3C24XX_I2S
select SND_SOC_TLV320AIC3X select SND_SOC_TLV320AIC3X
select SND_SOC_SAMSUNG_SIMTEC select SND_SOC_SAMSUNG_SIMTEC
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment