···1414 - S3C24XX: See Documentation/arm/Samsung-S3C24XX/Overview.txt for full list1515 - S3C64XX: S3C6400 and S3C64101616 - S5P64401717- - S5P64421817 - S5PC1001918 - S5PC110 / S5PV2102019···3536 unifying all the SoCs into one kernel.36373738 s5p6440_defconfig - S5P6440 specific default configuration3838- s5p6442_defconfig - S5P6442 specific default configuration3939 s5pc100_defconfig - S5PC100 specific default configuration4040 s5pc110_defconfig - S5PC110 specific default configuration4141 s5pv210_defconfig - S5PV210 specific default configuration
+2-14
arch/arm/Kconfig
···730730 Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,731731 SMDK6450.732732733733-config ARCH_S5P6442734734- bool "Samsung S5P6442"735735- select CPU_V6736736- select GENERIC_GPIO737737- select HAVE_CLK738738- select ARCH_USES_GETTIMEOFFSET739739- select HAVE_S3C2410_WATCHDOG if WATCHDOG740740- help741741- Samsung S5P6442 CPU based systems742742-743733config ARCH_S5PC100744734 bool "Samsung S5PC100"745735 select GENERIC_GPIO···980990endif981991982992source "arch/arm/mach-s5p64x0/Kconfig"983983-984984-source "arch/arm/mach-s5p6442/Kconfig"985993986994source "arch/arm/mach-s5pc100/Kconfig"987995···14081420config HZ14091421 int14101422 default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P64X0 || \14111411- ARCH_S5P6442 || ARCH_S5PV210 || ARCH_EXYNOS414231423+ ARCH_S5PV210 || ARCH_EXYNOS414121424 default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER14131425 default AT91_TIMER_HZ if ARCH_AT9114141426 default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE···20162028source "kernel/power/Kconfig"2017202920182030config ARCH_SUSPEND_POSSIBLE20192019- depends on !ARCH_S5P64X0 && !ARCH_S5P6442 && !ARCH_S5PC10020312031+ depends on !ARCH_S5P64X0 && !ARCH_S5PC10020202032 depends on CPU_ARM920T || CPU_ARM926T || CPU_SA1100 || \20212033 CPU_V6 || CPU_V6K || CPU_V7 || CPU_XSC3 || CPU_XSCALE20222034 def_bool y
···77config ARM_VIC_NR88 int99 default 4 if ARCH_S5PV2101010- default 3 if ARCH_S5P6442 || ARCH_S5PC1001010+ default 3 if ARCH_S5PC1001111 default 21212 depends on ARM_VIC1313 help
···11-CONFIG_EXPERIMENTAL=y22-CONFIG_SYSFS_DEPRECATED_V2=y33-CONFIG_BLK_DEV_INITRD=y44-CONFIG_KALLSYMS_ALL=y55-CONFIG_MODULES=y66-CONFIG_MODULE_UNLOAD=y77-# CONFIG_BLK_DEV_BSG is not set88-CONFIG_ARCH_S5P6442=y99-CONFIG_S3C_LOWLEVEL_UART_PORT=11010-CONFIG_MACH_SMDK6442=y1111-CONFIG_CPU_32v6K=y1212-CONFIG_AEABI=y1313-CONFIG_CMDLINE="root=/dev/ram0 rw ramdisk=8192 initrd=0x20800000,8M console=ttySAC1,115200 init=/linuxrc"1414-CONFIG_FPE_NWFPE=y1515-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"1616-# CONFIG_PREVENT_FIRMWARE_BUILD is not set1717-CONFIG_BLK_DEV_LOOP=y1818-CONFIG_BLK_DEV_RAM=y1919-CONFIG_BLK_DEV_RAM_SIZE=81922020-# CONFIG_MISC_DEVICES is not set2121-CONFIG_SCSI=y2222-CONFIG_BLK_DEV_SD=y2323-CONFIG_CHR_DEV_SG=y2424-CONFIG_INPUT_EVDEV=y2525-# CONFIG_INPUT_KEYBOARD is not set2626-# CONFIG_INPUT_MOUSE is not set2727-CONFIG_INPUT_TOUCHSCREEN=y2828-CONFIG_SERIAL_8250=y2929-CONFIG_SERIAL_8250_NR_UARTS=33030-CONFIG_SERIAL_SAMSUNG=y3131-CONFIG_SERIAL_SAMSUNG_CONSOLE=y3232-CONFIG_HW_RANDOM=y3333-# CONFIG_HWMON is not set3434-# CONFIG_VGA_CONSOLE is not set3535-# CONFIG_HID_SUPPORT is not set3636-# CONFIG_USB_SUPPORT is not set3737-CONFIG_EXT2_FS=y3838-CONFIG_INOTIFY=y3939-CONFIG_MSDOS_FS=y4040-CONFIG_VFAT_FS=y4141-CONFIG_TMPFS=y4242-CONFIG_TMPFS_POSIX_ACL=y4343-CONFIG_CRAMFS=y4444-CONFIG_ROMFS_FS=y4545-CONFIG_PARTITION_ADVANCED=y4646-CONFIG_BSD_DISKLABEL=y4747-CONFIG_SOLARIS_X86_PARTITION=y4848-CONFIG_NLS_CODEPAGE_437=y4949-CONFIG_NLS_ASCII=y5050-CONFIG_NLS_ISO8859_1=y5151-CONFIG_MAGIC_SYSRQ=y5252-CONFIG_DEBUG_KERNEL=y5353-CONFIG_DEBUG_RT_MUTEXES=y5454-CONFIG_DEBUG_SPINLOCK=y5555-CONFIG_DEBUG_MUTEXES=y5656-CONFIG_DEBUG_SPINLOCK_SLEEP=y5757-CONFIG_DEBUG_INFO=y5858-# CONFIG_RCU_CPU_STALL_DETECTOR is not set5959-CONFIG_SYSCTL_SYSCALL_CHECK=y6060-# CONFIG_ARM_UNWIND is not set6161-CONFIG_DEBUG_USER=y6262-CONFIG_DEBUG_ERRORS=y6363-CONFIG_DEBUG_LL=y6464-CONFIG_DEBUG_S3C_UART=16565-CONFIG_CRC_CCITT=y
···2020#define S3C64XX_VA_GPIO (0x0)21212222#include <mach/regs-gpio.h>2323-#include <mach/gpio-bank-n.h>24232524#define LL_UART (S3C_PA_UART + (0x400 * CONFIG_S3C_LOWLEVEL_UART_PORT))2625···6768 ldr r2, =LL_UART /* for debug */68696970#ifdef CONFIG_S3C_PM_DEBUG_LED_SMDK7171+7272+#define S3C64XX_GPNCON (S3C64XX_GPN_BASE + 0x00)7373+#define S3C64XX_GPNDAT (S3C64XX_GPN_BASE + 0x04)7474+7575+#define S3C64XX_GPN_CONMASK(__gpio) (0x3 << ((__gpio) * 2))7676+#define S3C64XX_GPN_OUTPUT(__gpio) (0x1 << ((__gpio) * 2))7777+7078 /* Initialise the GPIO state if we are debugging via the SMDK LEDs,7179 * as the uboot version supplied resets these to inputs during the7280 * resume checks.
-25
arch/arm/mach-s5p6442/Kconfig
···11-# arch/arm/mach-s5p6442/Kconfig22-#33-# Copyright (c) 2010 Samsung Electronics Co., Ltd.44-# http://www.samsung.com/55-#66-# Licensed under GPLv277-88-# Configuration options for the S5P644299-1010-if ARCH_S5P64421111-1212-config CPU_S5P64421313- bool1414- select S3C_PL330_DMA1515- help1616- Enable S5P6442 CPU support1717-1818-config MACH_SMDK64421919- bool "SMDK6442"2020- select CPU_S5P64422121- select S3C_DEV_WDT2222- help2323- Machine support for Samsung SMDK64422424-2525-endif
···11-/* linux/arch/arm/mach-s5p6442/dev-spi.c22- *33- * Copyright (C) 2010 Samsung Electronics Co. Ltd.44- * Jaswinder Singh <jassi.brar@samsung.com>55- *66- * This program is free software; you can redistribute it and/or modify77- * it under the terms of the GNU General Public License version 2 as88- * published by the Free Software Foundation.99- */1010-1111-#include <linux/platform_device.h>1212-#include <linux/dma-mapping.h>1313-#include <linux/gpio.h>1414-1515-#include <mach/dma.h>1616-#include <mach/map.h>1717-#include <mach/irqs.h>1818-#include <mach/spi-clocks.h>1919-2020-#include <plat/s3c64xx-spi.h>2121-#include <plat/gpio-cfg.h>2222-2323-static char *spi_src_clks[] = {2424- [S5P6442_SPI_SRCCLK_PCLK] = "pclk",2525- [S5P6442_SPI_SRCCLK_SCLK] = "spi_epll",2626-};2727-2828-/* SPI Controller platform_devices */2929-3030-/* Since we emulate multi-cs capability, we do not touch the CS.3131- * The emulated CS is toggled by board specific mechanism, as it can3232- * be either some immediate GPIO or some signal out of some other3333- * chip in between ... or some yet another way.3434- * We simply do not assume anything about CS.3535- */3636-static int s5p6442_spi_cfg_gpio(struct platform_device *pdev)3737-{3838- switch (pdev->id) {3939- case 0:4040- s3c_gpio_cfgpin(S5P6442_GPB(0), S3C_GPIO_SFN(2));4141- s3c_gpio_setpull(S5P6442_GPB(0), S3C_GPIO_PULL_UP);4242- s3c_gpio_cfgall_range(S5P6442_GPB(2), 2,4343- S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP);4444- break;4545-4646- default:4747- dev_err(&pdev->dev, "Invalid SPI Controller number!");4848- return -EINVAL;4949- }5050-5151- return 0;5252-}5353-5454-static struct resource s5p6442_spi0_resource[] = {5555- [0] = {5656- .start = S5P6442_PA_SPI,5757- .end = S5P6442_PA_SPI + 0x100 - 1,5858- .flags = IORESOURCE_MEM,5959- },6060- [1] = {6161- .start = DMACH_SPI0_TX,6262- .end = DMACH_SPI0_TX,6363- .flags = IORESOURCE_DMA,6464- },6565- [2] = {6666- .start = DMACH_SPI0_RX,6767- .end = DMACH_SPI0_RX,6868- .flags = IORESOURCE_DMA,6969- },7070- [3] = {7171- .start = IRQ_SPI0,7272- .end = IRQ_SPI0,7373- .flags = IORESOURCE_IRQ,7474- },7575-};7676-7777-static struct s3c64xx_spi_info s5p6442_spi0_pdata = {7878- .cfg_gpio = s5p6442_spi_cfg_gpio,7979- .fifo_lvl_mask = 0x1ff,8080- .rx_lvl_offset = 15,8181-};8282-8383-static u64 spi_dmamask = DMA_BIT_MASK(32);8484-8585-struct platform_device s5p6442_device_spi = {8686- .name = "s3c64xx-spi",8787- .id = 0,8888- .num_resources = ARRAY_SIZE(s5p6442_spi0_resource),8989- .resource = s5p6442_spi0_resource,9090- .dev = {9191- .dma_mask = &spi_dmamask,9292- .coherent_dma_mask = DMA_BIT_MASK(32),9393- .platform_data = &s5p6442_spi0_pdata,9494- },9595-};9696-9797-void __init s5p6442_spi_set_info(int cntrlr, int src_clk_nr, int num_cs)9898-{9999- struct s3c64xx_spi_info *pd;100100-101101- /* Reject invalid configuration */102102- if (!num_cs || src_clk_nr < 0103103- || src_clk_nr > S5P6442_SPI_SRCCLK_SCLK) {104104- printk(KERN_ERR "%s: Invalid SPI configuration\n", __func__);105105- return;106106- }107107-108108- switch (cntrlr) {109109- case 0:110110- pd = &s5p6442_spi0_pdata;111111- break;112112- default:113113- printk(KERN_ERR "%s: Invalid SPI controller(%d)\n",114114- __func__, cntrlr);115115- return;116116- }117117-118118- pd->num_cs = num_cs;119119- pd->src_clk_nr = src_clk_nr;120120- pd->src_clk_name = spi_src_clks[src_clk_nr];121121-}
-105
arch/arm/mach-s5p6442/dma.c
···11-/*22- * Copyright (C) 2010 Samsung Electronics Co. Ltd.33- * Jaswinder Singh <jassi.brar@samsung.com>44- *55- * This program is free software; you can redistribute it and/or modify66- * it under the terms of the GNU General Public License as published by77- * the Free Software Foundation; either version 2 of the License, or88- * (at your option) any later version.99- *1010- * This program is distributed in the hope that it will be useful,1111- * but WITHOUT ANY WARRANTY; without even the implied warranty of1212- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the1313- * GNU General Public License for more details.1414- *1515- * You should have received a copy of the GNU General Public License1616- * along with this program; if not, write to the Free Software1717- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.1818- */1919-2020-#include <linux/platform_device.h>2121-#include <linux/dma-mapping.h>2222-2323-#include <plat/devs.h>2424-#include <plat/irqs.h>2525-2626-#include <mach/map.h>2727-#include <mach/irqs.h>2828-2929-#include <plat/s3c-pl330-pdata.h>3030-3131-static u64 dma_dmamask = DMA_BIT_MASK(32);3232-3333-static struct resource s5p6442_pdma_resource[] = {3434- [0] = {3535- .start = S5P6442_PA_PDMA,3636- .end = S5P6442_PA_PDMA + SZ_4K,3737- .flags = IORESOURCE_MEM,3838- },3939- [1] = {4040- .start = IRQ_PDMA,4141- .end = IRQ_PDMA,4242- .flags = IORESOURCE_IRQ,4343- },4444-};4545-4646-static struct s3c_pl330_platdata s5p6442_pdma_pdata = {4747- .peri = {4848- [0] = DMACH_UART0_RX,4949- [1] = DMACH_UART0_TX,5050- [2] = DMACH_UART1_RX,5151- [3] = DMACH_UART1_TX,5252- [4] = DMACH_UART2_RX,5353- [5] = DMACH_UART2_TX,5454- [6] = DMACH_MAX,5555- [7] = DMACH_MAX,5656- [8] = DMACH_MAX,5757- [9] = DMACH_I2S0_RX,5858- [10] = DMACH_I2S0_TX,5959- [11] = DMACH_I2S0S_TX,6060- [12] = DMACH_I2S1_RX,6161- [13] = DMACH_I2S1_TX,6262- [14] = DMACH_MAX,6363- [15] = DMACH_MAX,6464- [16] = DMACH_SPI0_RX,6565- [17] = DMACH_SPI0_TX,6666- [18] = DMACH_MAX,6767- [19] = DMACH_MAX,6868- [20] = DMACH_PCM0_RX,6969- [21] = DMACH_PCM0_TX,7070- [22] = DMACH_PCM1_RX,7171- [23] = DMACH_PCM1_TX,7272- [24] = DMACH_MAX,7373- [25] = DMACH_MAX,7474- [26] = DMACH_MAX,7575- [27] = DMACH_MSM_REQ0,7676- [28] = DMACH_MSM_REQ1,7777- [29] = DMACH_MSM_REQ2,7878- [30] = DMACH_MSM_REQ3,7979- [31] = DMACH_MAX,8080- },8181-};8282-8383-static struct platform_device s5p6442_device_pdma = {8484- .name = "s3c-pl330",8585- .id = -1,8686- .num_resources = ARRAY_SIZE(s5p6442_pdma_resource),8787- .resource = s5p6442_pdma_resource,8888- .dev = {8989- .dma_mask = &dma_dmamask,9090- .coherent_dma_mask = DMA_BIT_MASK(32),9191- .platform_data = &s5p6442_pdma_pdata,9292- },9393-};9494-9595-static struct platform_device *s5p6442_dmacs[] __initdata = {9696- &s5p6442_device_pdma,9797-};9898-9999-static int __init s5p6442_dma_init(void)100100-{101101- platform_add_devices(s5p6442_dmacs, ARRAY_SIZE(s5p6442_dmacs));102102-103103- return 0;104104-}105105-arch_initcall(s5p6442_dma_init);
-35
arch/arm/mach-s5p6442/include/mach/debug-macro.S
···11-/* linux/arch/arm/mach-s5p6442/include/mach/debug-macro.S22- *33- * Copyright (c) 2010 Samsung Electronics Co., Ltd.44- * http://www.samsung.com/55- *66- * Based on arch/arm/mach-s3c6400/include/mach/debug-macro.S77- *88- * This program is free software; you can redistribute it and/or modify99- * it under the terms of the GNU General Public License version 2 as1010- * published by the Free Software Foundation.1111-*/1212-1313-/* pull in the relevant register and map files. */1414-1515-#include <mach/map.h>1616-#include <plat/regs-serial.h>1717-1818- .macro addruart, rp, rv1919- ldr \rp, = S3C_PA_UART2020- ldr \rv, = S3C_VA_UART2121-#if CONFIG_DEBUG_S3C_UART != 02222- add \rp, \rp, #(0x400 * CONFIG_DEBUG_S3C_UART)2323- add \rv, \rv, #(0x400 * CONFIG_DEBUG_S3C_UART)2424-#endif2525- .endm2626-2727-#define fifo_full fifo_full_s5pv2102828-#define fifo_level fifo_level_s5pv2102929-3030-/* include the reset of the code which will do the work, we're only3131- * compiling for a single cpu processor type so the default of s3c24403232- * will be fine with us.3333- */3434-3535-#include <plat/debug-macro.S>
-26
arch/arm/mach-s5p6442/include/mach/dma.h
···11-/*22- * Copyright (C) 2010 Samsung Electronics Co. Ltd.33- * Jaswinder Singh <jassi.brar@samsung.com>44- *55- * This program is free software; you can redistribute it and/or modify66- * it under the terms of the GNU General Public License as published by77- * the Free Software Foundation; either version 2 of the License, or88- * (at your option) any later version.99- *1010- * This program is distributed in the hope that it will be useful,1111- * but WITHOUT ANY WARRANTY; without even the implied warranty of1212- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the1313- * GNU General Public License for more details.1414- *1515- * You should have received a copy of the GNU General Public License1616- * along with this program; if not, write to the Free Software1717- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.1818- */1919-2020-#ifndef __MACH_DMA_H2121-#define __MACH_DMA_H2222-2323-/* This platform uses the common S3C DMA API driver for PL330 */2424-#include <plat/s3c-dma-pl330.h>2525-2626-#endif /* __MACH_DMA_H */
-48
arch/arm/mach-s5p6442/include/mach/entry-macro.S
···11-/* linux/arch/arm/mach-s5p6442/include/mach/entry-macro.S22- *33- * Copyright (c) 2010 Samsung Electronics Co., Ltd.44- * http://www.samsung.com/55- *66- * Low-level IRQ helper macros for the Samsung S5P644277- *88- * This program is free software; you can redistribute it and/or modify99- * it under the terms of the GNU General Public License version 2 as1010- * published by the Free Software Foundation.1111-*/1212-1313-#include <asm/hardware/vic.h>1414-#include <mach/map.h>1515-#include <plat/irqs.h>1616-1717- .macro disable_fiq1818- .endm1919-2020- .macro get_irqnr_preamble, base, tmp2121- ldr \base, =VA_VIC02222- .endm2323-2424- .macro arch_ret_to_user, tmp1, tmp22525- .endm2626-2727- .macro get_irqnr_and_base, irqnr, irqstat, base, tmp2828-2929- @ check the vic03030- mov \irqnr, # S5P_IRQ_OFFSET + 313131- ldr \irqstat, [ \base, # VIC_IRQ_STATUS ]3232- teq \irqstat, #03333-3434- @ otherwise try vic13535- addeq \tmp, \base, #(VA_VIC1 - VA_VIC0)3636- addeq \irqnr, \irqnr, #323737- ldreq \irqstat, [ \tmp, # VIC_IRQ_STATUS ]3838- teqeq \irqstat, #03939-4040- @ otherwise try vic24141- addeq \tmp, \base, #(VA_VIC2 - VA_VIC0)4242- addeq \irqnr, \irqnr, #324343- ldreq \irqstat, [ \tmp, # VIC_IRQ_STATUS ]4444- teqeq \irqstat, #04545-4646- clzne \irqstat, \irqstat4747- subne \irqnr, \irqnr, \irqstat4848- .endm
-123
arch/arm/mach-s5p6442/include/mach/gpio.h
···11-/* linux/arch/arm/mach-s5p6442/include/mach/gpio.h22- *33- * Copyright (c) 2010 Samsung Electronics Co., Ltd.44- * http://www.samsung.com/55- *66- * S5P6442 - GPIO lib support77- *88- * This program is free software; you can redistribute it and/or modify99- * it under the terms of the GNU General Public License version 2 as1010- * published by the Free Software Foundation.1111-*/1212-1313-#ifndef __ASM_ARCH_GPIO_H1414-#define __ASM_ARCH_GPIO_H __FILE__1515-1616-#define gpio_get_value __gpio_get_value1717-#define gpio_set_value __gpio_set_value1818-#define gpio_cansleep __gpio_cansleep1919-#define gpio_to_irq __gpio_to_irq2020-2121-/* GPIO bank sizes */2222-#define S5P6442_GPIO_A0_NR (8)2323-#define S5P6442_GPIO_A1_NR (2)2424-#define S5P6442_GPIO_B_NR (4)2525-#define S5P6442_GPIO_C0_NR (5)2626-#define S5P6442_GPIO_C1_NR (5)2727-#define S5P6442_GPIO_D0_NR (2)2828-#define S5P6442_GPIO_D1_NR (6)2929-#define S5P6442_GPIO_E0_NR (8)3030-#define S5P6442_GPIO_E1_NR (5)3131-#define S5P6442_GPIO_F0_NR (8)3232-#define S5P6442_GPIO_F1_NR (8)3333-#define S5P6442_GPIO_F2_NR (8)3434-#define S5P6442_GPIO_F3_NR (6)3535-#define S5P6442_GPIO_G0_NR (7)3636-#define S5P6442_GPIO_G1_NR (7)3737-#define S5P6442_GPIO_G2_NR (7)3838-#define S5P6442_GPIO_H0_NR (8)3939-#define S5P6442_GPIO_H1_NR (8)4040-#define S5P6442_GPIO_H2_NR (8)4141-#define S5P6442_GPIO_H3_NR (8)4242-#define S5P6442_GPIO_J0_NR (8)4343-#define S5P6442_GPIO_J1_NR (6)4444-#define S5P6442_GPIO_J2_NR (8)4545-#define S5P6442_GPIO_J3_NR (8)4646-#define S5P6442_GPIO_J4_NR (5)4747-4848-/* GPIO bank numbers */4949-5050-/* CONFIG_S3C_GPIO_SPACE allows the user to select extra5151- * space for debugging purposes so that any accidental5252- * change from one gpio bank to another can be caught.5353-*/5454-5555-#define S5P6442_GPIO_NEXT(__gpio) \5656- ((__gpio##_START) + (__gpio##_NR) + CONFIG_S3C_GPIO_SPACE + 1)5757-5858-enum s5p_gpio_number {5959- S5P6442_GPIO_A0_START = 0,6060- S5P6442_GPIO_A1_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_A0),6161- S5P6442_GPIO_B_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_A1),6262- S5P6442_GPIO_C0_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_B),6363- S5P6442_GPIO_C1_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_C0),6464- S5P6442_GPIO_D0_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_C1),6565- S5P6442_GPIO_D1_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_D0),6666- S5P6442_GPIO_E0_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_D1),6767- S5P6442_GPIO_E1_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_E0),6868- S5P6442_GPIO_F0_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_E1),6969- S5P6442_GPIO_F1_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_F0),7070- S5P6442_GPIO_F2_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_F1),7171- S5P6442_GPIO_F3_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_F2),7272- S5P6442_GPIO_G0_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_F3),7373- S5P6442_GPIO_G1_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_G0),7474- S5P6442_GPIO_G2_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_G1),7575- S5P6442_GPIO_H0_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_G2),7676- S5P6442_GPIO_H1_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_H0),7777- S5P6442_GPIO_H2_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_H1),7878- S5P6442_GPIO_H3_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_H2),7979- S5P6442_GPIO_J0_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_H3),8080- S5P6442_GPIO_J1_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_J0),8181- S5P6442_GPIO_J2_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_J1),8282- S5P6442_GPIO_J3_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_J2),8383- S5P6442_GPIO_J4_START = S5P6442_GPIO_NEXT(S5P6442_GPIO_J3),8484-};8585-8686-/* S5P6442 GPIO number definitions. */8787-#define S5P6442_GPA0(_nr) (S5P6442_GPIO_A0_START + (_nr))8888-#define S5P6442_GPA1(_nr) (S5P6442_GPIO_A1_START + (_nr))8989-#define S5P6442_GPB(_nr) (S5P6442_GPIO_B_START + (_nr))9090-#define S5P6442_GPC0(_nr) (S5P6442_GPIO_C0_START + (_nr))9191-#define S5P6442_GPC1(_nr) (S5P6442_GPIO_C1_START + (_nr))9292-#define S5P6442_GPD0(_nr) (S5P6442_GPIO_D0_START + (_nr))9393-#define S5P6442_GPD1(_nr) (S5P6442_GPIO_D1_START + (_nr))9494-#define S5P6442_GPE0(_nr) (S5P6442_GPIO_E0_START + (_nr))9595-#define S5P6442_GPE1(_nr) (S5P6442_GPIO_E1_START + (_nr))9696-#define S5P6442_GPF0(_nr) (S5P6442_GPIO_F0_START + (_nr))9797-#define S5P6442_GPF1(_nr) (S5P6442_GPIO_F1_START + (_nr))9898-#define S5P6442_GPF2(_nr) (S5P6442_GPIO_F2_START + (_nr))9999-#define S5P6442_GPF3(_nr) (S5P6442_GPIO_F3_START + (_nr))100100-#define S5P6442_GPG0(_nr) (S5P6442_GPIO_G0_START + (_nr))101101-#define S5P6442_GPG1(_nr) (S5P6442_GPIO_G1_START + (_nr))102102-#define S5P6442_GPG2(_nr) (S5P6442_GPIO_G2_START + (_nr))103103-#define S5P6442_GPH0(_nr) (S5P6442_GPIO_H0_START + (_nr))104104-#define S5P6442_GPH1(_nr) (S5P6442_GPIO_H1_START + (_nr))105105-#define S5P6442_GPH2(_nr) (S5P6442_GPIO_H2_START + (_nr))106106-#define S5P6442_GPH3(_nr) (S5P6442_GPIO_H3_START + (_nr))107107-#define S5P6442_GPJ0(_nr) (S5P6442_GPIO_J0_START + (_nr))108108-#define S5P6442_GPJ1(_nr) (S5P6442_GPIO_J1_START + (_nr))109109-#define S5P6442_GPJ2(_nr) (S5P6442_GPIO_J2_START + (_nr))110110-#define S5P6442_GPJ3(_nr) (S5P6442_GPIO_J3_START + (_nr))111111-#define S5P6442_GPJ4(_nr) (S5P6442_GPIO_J4_START + (_nr))112112-113113-/* the end of the S5P6442 specific gpios */114114-#define S5P6442_GPIO_END (S5P6442_GPJ4(S5P6442_GPIO_J4_NR) + 1)115115-#define S3C_GPIO_END S5P6442_GPIO_END116116-117117-/* define the number of gpios we need to the one after the GPJ4() range */118118-#define ARCH_NR_GPIOS (S5P6442_GPJ4(S5P6442_GPIO_J4_NR) + \119119- CONFIG_SAMSUNG_GPIO_EXTRA + 1)120120-121121-#include <asm-generic/gpio.h>122122-123123-#endif /* __ASM_ARCH_GPIO_H */
-18
arch/arm/mach-s5p6442/include/mach/hardware.h
···11-/* linux/arch/arm/mach-s5p6442/include/mach/hardware.h22- *33- * Copyright (c) 2010 Samsung Electronics Co., Ltd.44- * http://www.samsung.com/55- *66- * S5P6442 - Hardware support77- *88- * This program is free software; you can redistribute it and/or modify99- * it under the terms of the GNU General Public License version 2 as1010- * published by the Free Software Foundation.1111-*/1212-1313-#ifndef __ASM_ARCH_HARDWARE_H1414-#define __ASM_ARCH_HARDWARE_H __FILE__1515-1616-/* currently nothing here, placeholder */1717-1818-#endif /* __ASM_ARCH_HARDWARE_H */
-17
arch/arm/mach-s5p6442/include/mach/io.h
···11-/* arch/arm/mach-s5p6442/include/mach/io.h22- *33- * Copyright 2008-2010 Ben Dooks <ben-linux@fluff.org>44- *55- * Default IO routines for S5P644266- */77-88-#ifndef __ASM_ARM_ARCH_IO_H99-#define __ASM_ARM_ARCH_IO_H1010-1111-/* No current ISA/PCI bus support. */1212-#define __io(a) __typesafe_io(a)1313-#define __mem_pci(a) (a)1414-1515-#define IO_SPACE_LIMIT (0xFFFFFFFF)1616-1717-#endif
-87
arch/arm/mach-s5p6442/include/mach/irqs.h
···11-/* linux/arch/arm/mach-s5p6442/include/mach/irqs.h22- *33- * Copyright (c) 2010 Samsung Electronics Co., Ltd.44- * http://www.samsung.com/55- *66- * S5P6442 - IRQ definitions77- *88- * This program is free software; you can redistribute it and/or modify99- * it under the terms of the GNU General Public License version 2 as1010- * published by the Free Software Foundation.1111-*/1212-1313-#ifndef __ASM_ARCH_IRQS_H1414-#define __ASM_ARCH_IRQS_H __FILE__1515-1616-#include <plat/irqs.h>1717-1818-/* VIC0 */1919-#define IRQ_EINT16_31 S5P_IRQ_VIC0(16)2020-#define IRQ_BATF S5P_IRQ_VIC0(17)2121-#define IRQ_MDMA S5P_IRQ_VIC0(18)2222-#define IRQ_PDMA S5P_IRQ_VIC0(19)2323-#define IRQ_TIMER0_VIC S5P_IRQ_VIC0(21)2424-#define IRQ_TIMER1_VIC S5P_IRQ_VIC0(22)2525-#define IRQ_TIMER2_VIC S5P_IRQ_VIC0(23)2626-#define IRQ_TIMER3_VIC S5P_IRQ_VIC0(24)2727-#define IRQ_TIMER4_VIC S5P_IRQ_VIC0(25)2828-#define IRQ_SYSTIMER S5P_IRQ_VIC0(26)2929-#define IRQ_WDT S5P_IRQ_VIC0(27)3030-#define IRQ_RTC_ALARM S5P_IRQ_VIC0(28)3131-#define IRQ_RTC_TIC S5P_IRQ_VIC0(29)3232-#define IRQ_GPIOINT S5P_IRQ_VIC0(30)3333-3434-/* VIC1 */3535-#define IRQ_PMU S5P_IRQ_VIC1(0)3636-#define IRQ_ONENAND S5P_IRQ_VIC1(7)3737-#define IRQ_UART0 S5P_IRQ_VIC1(10)3838-#define IRQ_UART1 S5P_IRQ_VIC1(11)3939-#define IRQ_UART2 S5P_IRQ_VIC1(12)4040-#define IRQ_SPI0 S5P_IRQ_VIC1(15)4141-#define IRQ_IIC S5P_IRQ_VIC1(19)4242-#define IRQ_IIC1 S5P_IRQ_VIC1(20)4343-#define IRQ_IIC2 S5P_IRQ_VIC1(21)4444-#define IRQ_OTG S5P_IRQ_VIC1(24)4545-#define IRQ_MSM S5P_IRQ_VIC1(25)4646-#define IRQ_HSMMC0 S5P_IRQ_VIC1(26)4747-#define IRQ_HSMMC1 S5P_IRQ_VIC1(27)4848-#define IRQ_HSMMC2 S5P_IRQ_VIC1(28)4949-#define IRQ_COMMRX S5P_IRQ_VIC1(29)5050-#define IRQ_COMMTX S5P_IRQ_VIC1(30)5151-5252-/* VIC2 */5353-#define IRQ_LCD0 S5P_IRQ_VIC2(0)5454-#define IRQ_LCD1 S5P_IRQ_VIC2(1)5555-#define IRQ_LCD2 S5P_IRQ_VIC2(2)5656-#define IRQ_LCD3 S5P_IRQ_VIC2(3)5757-#define IRQ_ROTATOR S5P_IRQ_VIC2(4)5858-#define IRQ_FIMC0 S5P_IRQ_VIC2(5)5959-#define IRQ_FIMC1 S5P_IRQ_VIC2(6)6060-#define IRQ_FIMC2 S5P_IRQ_VIC2(7)6161-#define IRQ_JPEG S5P_IRQ_VIC2(8)6262-#define IRQ_3D S5P_IRQ_VIC2(10)6363-#define IRQ_Mixer S5P_IRQ_VIC2(11)6464-#define IRQ_MFC S5P_IRQ_VIC2(14)6565-#define IRQ_TVENC S5P_IRQ_VIC2(15)6666-#define IRQ_I2S0 S5P_IRQ_VIC2(16)6767-#define IRQ_I2S1 S5P_IRQ_VIC2(17)6868-#define IRQ_RP S5P_IRQ_VIC2(19)6969-#define IRQ_PCM0 S5P_IRQ_VIC2(20)7070-#define IRQ_PCM1 S5P_IRQ_VIC2(21)7171-#define IRQ_ADC S5P_IRQ_VIC2(23)7272-#define IRQ_PENDN S5P_IRQ_VIC2(24)7373-#define IRQ_KEYPAD S5P_IRQ_VIC2(25)7474-#define IRQ_SSS_INT S5P_IRQ_VIC2(27)7575-#define IRQ_SSS_HASH S5P_IRQ_VIC2(28)7676-#define IRQ_VIC_END S5P_IRQ_VIC2(31)7777-7878-#define S5P_IRQ_EINT_BASE (IRQ_VIC_END + 1)7979-8080-#define S5P_EINT_BASE1 (S5P_IRQ_VIC0(0))8181-#define S5P_EINT_BASE2 (S5P_IRQ_EINT_BASE)8282-8383-/* Set the default NR_IRQS */8484-8585-#define NR_IRQS (IRQ_EINT(31) + 1)8686-8787-#endif /* __ASM_ARCH_IRQS_H */
-76
arch/arm/mach-s5p6442/include/mach/map.h
···11-/* linux/arch/arm/mach-s5p6442/include/mach/map.h22- *33- * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.44- * http://www.samsung.com/55- *66- * S5P6442 - Memory map definitions77- *88- * This program is free software; you can redistribute it and/or modify99- * it under the terms of the GNU General Public License version 2 as1010- * published by the Free Software Foundation.1111-*/1212-1313-#ifndef __ASM_ARCH_MAP_H1414-#define __ASM_ARCH_MAP_H __FILE__1515-1616-#include <plat/map-base.h>1717-#include <plat/map-s5p.h>1818-1919-#define S5P6442_PA_SDRAM 0x200000002020-2121-#define S5P6442_PA_I2S0 0xC0B000002222-#define S5P6442_PA_I2S1 0xF22000002323-2424-#define S5P6442_PA_CHIPID 0xE00000002525-2626-#define S5P6442_PA_SYSCON 0xE01000002727-2828-#define S5P6442_PA_GPIO 0xE02000002929-3030-#define S5P6442_PA_VIC0 0xE40000003131-#define S5P6442_PA_VIC1 0xE41000003232-#define S5P6442_PA_VIC2 0xE42000003333-3434-#define S5P6442_PA_SROMC 0xE70000003535-3636-#define S5P6442_PA_MDMA 0xE80000003737-#define S5P6442_PA_PDMA 0xE90000003838-3939-#define S5P6442_PA_TIMER 0xEA0000004040-4141-#define S5P6442_PA_SYSTIMER 0xEA1000004242-4343-#define S5P6442_PA_WATCHDOG 0xEA2000004444-4545-#define S5P6442_PA_UART 0xEC0000004646-4747-#define S5P6442_PA_IIC0 0xEC1000004848-4949-#define S5P6442_PA_SPI 0xEC3000005050-5151-#define S5P6442_PA_PCM0 0xF24000005252-#define S5P6442_PA_PCM1 0xF25000005353-5454-/* Compatibiltiy Defines */5555-5656-#define S3C_PA_IIC S5P6442_PA_IIC05757-#define S3C_PA_WDT S5P6442_PA_WATCHDOG5858-5959-#define S5P_PA_CHIPID S5P6442_PA_CHIPID6060-#define S5P_PA_SDRAM S5P6442_PA_SDRAM6161-#define S5P_PA_SROMC S5P6442_PA_SROMC6262-#define S5P_PA_SYSCON S5P6442_PA_SYSCON6363-#define S5P_PA_TIMER S5P6442_PA_TIMER6464-6565-/* UART */6666-6767-#define S3C_PA_UART S5P6442_PA_UART6868-6969-#define S5P_PA_UART(x) (S3C_PA_UART + ((x) * S3C_UART_OFFSET))7070-#define S5P_PA_UART0 S5P_PA_UART(0)7171-#define S5P_PA_UART1 S5P_PA_UART(1)7272-#define S5P_PA_UART2 S5P_PA_UART(2)7373-7474-#define S5P_SZ_UART SZ_2567575-7676-#endif /* __ASM_ARCH_MAP_H */
-19
arch/arm/mach-s5p6442/include/mach/memory.h
···11-/* linux/arch/arm/mach-s5p6442/include/mach/memory.h22- *33- * Copyright (c) 2010 Samsung Electronics Co., Ltd.44- * http://www.samsung.com/55- *66- * S5P6442 - Memory definitions77- *88- * This program is free software; you can redistribute it and/or modify99- * it under the terms of the GNU General Public License version 2 as1010- * published by the Free Software Foundation.1111-*/1212-1313-#ifndef __ASM_ARCH_MEMORY_H1414-#define __ASM_ARCH_MEMORY_H1515-1616-#define PLAT_PHYS_OFFSET UL(0x20000000)1717-#define CONSISTENT_DMA_SIZE SZ_8M1818-1919-#endif /* __ASM_ARCH_MEMORY_H */
-70
arch/arm/mach-s5p6442/include/mach/pwm-clock.h
···11-/* linux/arch/arm/mach-s5p6442/include/mach/pwm-clock.h22- *33- * Copyright (c) 2010 Samsung Electronics Co., Ltd.44- * http://www.samsung.com/55- *66- * Copyright 2008 Openmoko, Inc.77- * Copyright 2008 Simtec Electronics88- * Ben Dooks <ben@simtec.co.uk>99- * http://armlinux.simtec.co.uk/1010- *1111- * Based on arch/arm/mach-s3c64xx/include/mach/pwm-clock.h1212- *1313- * S5P6442 - pwm clock and timer support1414- *1515- * This program is free software; you can redistribute it and/or modify1616- * it under the terms of the GNU General Public License version 2 as1717- * published by the Free Software Foundation.1818-*/1919-2020-#ifndef __ASM_ARCH_PWMCLK_H2121-#define __ASM_ARCH_PWMCLK_H __FILE__2222-2323-/**2424- * pwm_cfg_src_is_tclk() - return whether the given mux config is a tclk2525- * @tcfg: The timer TCFG1 register bits shifted down to 0.2626- *2727- * Return true if the given configuration from TCFG1 is a TCLK instead2828- * any of the TDIV clocks.2929- */3030-static inline int pwm_cfg_src_is_tclk(unsigned long tcfg)3131-{3232- return tcfg == S3C64XX_TCFG1_MUX_TCLK;3333-}3434-3535-/**3636- * tcfg_to_divisor() - convert tcfg1 setting to a divisor3737- * @tcfg1: The tcfg1 setting, shifted down.3838- *3939- * Get the divisor value for the given tcfg1 setting. We assume the4040- * caller has already checked to see if this is not a TCLK source.4141- */4242-static inline unsigned long tcfg_to_divisor(unsigned long tcfg1)4343-{4444- return 1 << tcfg1;4545-}4646-4747-/**4848- * pwm_tdiv_has_div1() - does the tdiv setting have a /14949- *5050- * Return true if we have a /1 in the tdiv setting.5151- */5252-static inline unsigned int pwm_tdiv_has_div1(void)5353-{5454- return 1;5555-}5656-5757-/**5858- * pwm_tdiv_div_bits() - calculate TCFG1 divisor value.5959- * @div: The divisor to calculate the bit information for.6060- *6161- * Turn a divisor into the necessary bit field for TCFG1.6262- */6363-static inline unsigned long pwm_tdiv_div_bits(unsigned int div)6464-{6565- return ilog2(div);6666-}6767-6868-#define S3C_TCFG1_MUX_TCLK S3C64XX_TCFG1_MUX_TCLK6969-7070-#endif /* __ASM_ARCH_PWMCLK_H */
···11-/* linux/arch/arm/mach-s5p6442/include/mach/regs-irq.h22- *33- * Copyright (c) 2010 Samsung Electronics Co., Ltd.44- * http://www.samsung.com/55- *66- * S5P6442 - IRQ register definitions77- *88- * This program is free software; you can redistribute it and/or modify99- * it under the terms of the GNU General Public License version 2 as1010- * published by the Free Software Foundation.1111-*/1212-1313-#ifndef __ASM_ARCH_REGS_IRQ_H1414-#define __ASM_ARCH_REGS_IRQ_H __FILE__1515-1616-#include <asm/hardware/vic.h>1717-#include <mach/map.h>1818-1919-#endif /* __ASM_ARCH_REGS_IRQ_H */
-17
arch/arm/mach-s5p6442/include/mach/spi-clocks.h
···11-/* linux/arch/arm/mach-s5p6442/include/mach/spi-clocks.h22- *33- * Copyright (C) 2010 Samsung Electronics Co. Ltd.44- * Jaswinder Singh <jassi.brar@samsung.com>55- *66- * This program is free software; you can redistribute it and/or modify77- * it under the terms of the GNU General Public License version 2 as88- * published by the Free Software Foundation.99- */1010-1111-#ifndef __S5P6442_PLAT_SPI_CLKS_H1212-#define __S5P6442_PLAT_SPI_CLKS_H __FILE__1313-1414-#define S5P6442_SPI_SRCCLK_PCLK 01515-#define S5P6442_SPI_SRCCLK_SCLK 11616-1717-#endif /* __S5P6442_PLAT_SPI_CLKS_H */
-23
arch/arm/mach-s5p6442/include/mach/system.h
···11-/* linux/arch/arm/mach-s5p6442/include/mach/system.h22- *33- * Copyright (c) 2010 Samsung Electronics Co., Ltd.44- * http://www.samsung.com/55- *66- * S5P6442 - system support header77- *88- * This program is free software; you can redistribute it and/or modify99- * it under the terms of the GNU General Public License version 2 as1010- * published by the Free Software Foundation.1111-*/1212-1313-#ifndef __ASM_ARCH_SYSTEM_H1414-#define __ASM_ARCH_SYSTEM_H __FILE__1515-1616-#include <plat/system-reset.h>1717-1818-static void arch_idle(void)1919-{2020- /* nothing here yet */2121-}2222-2323-#endif /* __ASM_ARCH_SYSTEM_H */
-26
arch/arm/mach-s5p6442/include/mach/tick.h
···11-/* linux/arch/arm/mach-s5p6442/include/mach/tick.h22- *33- * Copyright (c) 2010 Samsung Electronics Co., Ltd.44- * http://www.samsung.com/55- *66- * Based on arch/arm/mach-s3c6400/include/mach/tick.h77- *88- * S5P6442 - Timer tick support definitions99- *1010- * This program is free software; you can redistribute it and/or modify1111- * it under the terms of the GNU General Public License version 2 as1212- * published by the Free Software Foundation.1313-*/1414-1515-#ifndef __ASM_ARCH_TICK_H1616-#define __ASM_ARCH_TICK_H __FILE__1717-1818-static inline u32 s3c24xx_ostimer_pending(void)1919-{2020- u32 pend = __raw_readl(VA_VIC0 + VIC_RAW_STATUS);2121- return pend & (1 << (IRQ_TIMER4_VIC - S5P_IRQ_VIC0(0)));2222-}2323-2424-#define TICK_MAX (0xffffffff)2525-2626-#endif /* __ASM_ARCH_TICK_H */
-24
arch/arm/mach-s5p6442/include/mach/timex.h
···11-/* arch/arm/mach-s5p6442/include/mach/timex.h22- *33- * Copyright (c) 2003-2010 Simtec Electronics44- * Ben Dooks <ben@simtec.co.uk>55- *66- * S5P6442 - time parameters77- *88- * This program is free software; you can redistribute it and/or modify99- * it under the terms of the GNU General Public License version 2 as1010- * published by the Free Software Foundation.1111-*/1212-1313-#ifndef __ASM_ARCH_TIMEX_H1414-#define __ASM_ARCH_TIMEX_H1515-1616-/* CLOCK_TICK_RATE needs to be evaluatable by the cpp, so making it1717- * a variable is useless. It seems as long as we make our timers an1818- * exact multiple of HZ, any value that makes a 1->1 correspondence1919- * for the time conversion functions to/from jiffies is acceptable.2020-*/2121-2222-#define CLOCK_TICK_RATE 120000002323-2424-#endif /* __ASM_ARCH_TIMEX_H */
-24
arch/arm/mach-s5p6442/include/mach/uncompress.h
···11-/* linux/arch/arm/mach-s5p6442/include/mach/uncompress.h22- *33- * Copyright (c) 2010 Samsung Electronics Co., Ltd.44- * http://www.samsung.com/55- *66- * S5P6442 - uncompress code77- *88- * This program is free software; you can redistribute it and/or modify99- * it under the terms of the GNU General Public License version 2 as1010- * published by the Free Software Foundation.1111-*/1212-1313-#ifndef __ASM_ARCH_UNCOMPRESS_H1414-#define __ASM_ARCH_UNCOMPRESS_H1515-1616-#include <mach/map.h>1717-#include <plat/uncompress.h>1818-1919-static void arch_detect_cpu(void)2020-{2121- /* we do not need to do any cpu detection here at the moment. */2222-}2323-2424-#endif /* __ASM_ARCH_UNCOMPRESS_H */
-17
arch/arm/mach-s5p6442/include/mach/vmalloc.h
···11-/* arch/arm/mach-s5p6442/include/mach/vmalloc.h22- *33- * Copyright 2010 Ben Dooks <ben-linux@fluff.org>44- *55- * This program is free software; you can redistribute it and/or modify66- * it under the terms of the GNU General Public License version 2 as77- * published by the Free Software Foundation.88- *99- * S5P6442 vmalloc definition1010-*/1111-1212-#ifndef __ASM_ARCH_VMALLOC_H1313-#define __ASM_ARCH_VMALLOC_H1414-1515-#define VMALLOC_END 0xF6000000UL1616-1717-#endif /* __ASM_ARCH_VMALLOC_H */
-44
arch/arm/mach-s5p6442/init.c
···11-/* linux/arch/arm/mach-s5p6442/s5p6442-init.c22- *33- * Copyright (c) 2010 Samsung Electronics Co., Ltd.44- * http://www.samsung.com/55- *66- * This program is free software; you can redistribute it and/or modify77- * it under the terms of the GNU General Public License version 2 as88- * published by the Free Software Foundation.99-*/1010-1111-#include <linux/kernel.h>1212-#include <linux/types.h>1313-#include <linux/init.h>1414-#include <linux/serial_core.h>1515-1616-#include <plat/cpu.h>1717-#include <plat/devs.h>1818-#include <plat/s5p6442.h>1919-#include <plat/regs-serial.h>2020-2121-static struct s3c24xx_uart_clksrc s5p6442_serial_clocks[] = {2222- [0] = {2323- .name = "pclk",2424- .divisor = 1,2525- .min_baud = 0,2626- .max_baud = 0,2727- },2828-};2929-3030-/* uart registration process */3131-void __init s5p6442_common_init_uarts(struct s3c2410_uartcfg *cfg, int no)3232-{3333- struct s3c2410_uartcfg *tcfg = cfg;3434- u32 ucnt;3535-3636- for (ucnt = 0; ucnt < no; ucnt++, tcfg++) {3737- if (!tcfg->clocks) {3838- tcfg->clocks = s5p6442_serial_clocks;3939- tcfg->clocks_size = ARRAY_SIZE(s5p6442_serial_clocks);4040- }4141- }4242-4343- s3c24xx_init_uartdevs("s5pv210-uart", s5p_uart_resources, cfg, no);4444-}
-102
arch/arm/mach-s5p6442/mach-smdk6442.c
···11-/* linux/arch/arm/mach-s5p6442/mach-smdk6442.c22- *33- * Copyright (c) 2010 Samsung Electronics Co., Ltd.44- * http://www.samsung.com/55- *66- * This program is free software; you can redistribute it and/or modify77- * it under the terms of the GNU General Public License version 2 as88- * published by the Free Software Foundation.99-*/1010-1111-#include <linux/kernel.h>1212-#include <linux/types.h>1313-#include <linux/init.h>1414-#include <linux/serial_core.h>1515-#include <linux/i2c.h>1616-1717-#include <asm/mach/arch.h>1818-#include <asm/mach/map.h>1919-#include <asm/setup.h>2020-#include <asm/mach-types.h>2121-2222-#include <mach/map.h>2323-#include <mach/regs-clock.h>2424-2525-#include <plat/regs-serial.h>2626-#include <plat/s5p6442.h>2727-#include <plat/devs.h>2828-#include <plat/cpu.h>2929-#include <plat/iic.h>3030-3131-/* Following are default values for UCON, ULCON and UFCON UART registers */3232-#define SMDK6442_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \3333- S3C2410_UCON_RXILEVEL | \3434- S3C2410_UCON_TXIRQMODE | \3535- S3C2410_UCON_RXIRQMODE | \3636- S3C2410_UCON_RXFIFO_TOI | \3737- S3C2443_UCON_RXERR_IRQEN)3838-3939-#define SMDK6442_ULCON_DEFAULT S3C2410_LCON_CS84040-4141-#define SMDK6442_UFCON_DEFAULT (S3C2410_UFCON_FIFOMODE | \4242- S5PV210_UFCON_TXTRIG4 | \4343- S5PV210_UFCON_RXTRIG4)4444-4545-static struct s3c2410_uartcfg smdk6442_uartcfgs[] __initdata = {4646- [0] = {4747- .hwport = 0,4848- .flags = 0,4949- .ucon = SMDK6442_UCON_DEFAULT,5050- .ulcon = SMDK6442_ULCON_DEFAULT,5151- .ufcon = SMDK6442_UFCON_DEFAULT,5252- },5353- [1] = {5454- .hwport = 1,5555- .flags = 0,5656- .ucon = SMDK6442_UCON_DEFAULT,5757- .ulcon = SMDK6442_ULCON_DEFAULT,5858- .ufcon = SMDK6442_UFCON_DEFAULT,5959- },6060- [2] = {6161- .hwport = 2,6262- .flags = 0,6363- .ucon = SMDK6442_UCON_DEFAULT,6464- .ulcon = SMDK6442_ULCON_DEFAULT,6565- .ufcon = SMDK6442_UFCON_DEFAULT,6666- },6767-};6868-6969-static struct platform_device *smdk6442_devices[] __initdata = {7070- &s3c_device_i2c0,7171- &samsung_asoc_dma,7272- &s5p6442_device_iis0,7373- &s3c_device_wdt,7474-};7575-7676-static struct i2c_board_info smdk6442_i2c_devs0[] __initdata = {7777- { I2C_BOARD_INFO("wm8580", 0x1b), },7878-};7979-8080-static void __init smdk6442_map_io(void)8181-{8282- s5p_init_io(NULL, 0, S5P_VA_CHIPID);8383- s3c24xx_init_clocks(12000000);8484- s3c24xx_init_uarts(smdk6442_uartcfgs, ARRAY_SIZE(smdk6442_uartcfgs));8585-}8686-8787-static void __init smdk6442_machine_init(void)8888-{8989- s3c_i2c0_set_platdata(NULL);9090- i2c_register_board_info(0, smdk6442_i2c_devs0,9191- ARRAY_SIZE(smdk6442_i2c_devs0));9292- platform_add_devices(smdk6442_devices, ARRAY_SIZE(smdk6442_devices));9393-}9494-9595-MACHINE_START(SMDK6442, "SMDK6442")9696- /* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */9797- .boot_params = S5P_PA_SDRAM + 0x100,9898- .init_irq = s5p6442_init_irq,9999- .map_io = smdk6442_map_io,100100- .init_machine = smdk6442_machine_init,101101- .timer = &s3c24xx_timer,102102-MACHINE_END
-28
arch/arm/mach-s5p6442/setup-i2c0.c
···11-/* linux/arch/arm/mach-s5p6442/setup-i2c0.c22- *33- * Copyright (c) 2009 Samsung Electronics Co., Ltd.44- * http://www.samsung.com/55- *66- * I2C0 GPIO configuration.77- *88- * Based on plat-s3c64xx/setup-i2c0.c99- *1010- * This program is free software; you can redistribute it and/or modify1111- * it under the terms of the GNU General Public License version 2 as1212- * published by the Free Software Foundation.1313-*/1414-1515-#include <linux/kernel.h>1616-#include <linux/types.h>1717-#include <linux/gpio.h>1818-1919-struct platform_device; /* don't need the contents */2020-2121-#include <plat/gpio-cfg.h>2222-#include <plat/iic.h>2323-2424-void s3c_i2c0_cfg_gpio(struct platform_device *dev)2525-{2626- s3c_gpio_cfgall_range(S5P6442_GPD1(0), 2,2727- S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP);2828-}
+1-1
arch/arm/plat-s5p/Kconfig
···7788config PLAT_S5P99 bool1010- depends on (ARCH_S5P64X0 || ARCH_S5P6442 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS4)1010+ depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS4)1111 default y1212 select ARM_VIC if !ARCH_EXYNOS41313 select ARM_GIC if ARCH_EXYNOS4
···11-/* arch/arm/plat-s5p/include/plat/s5p6442.h22- *33- * Copyright (c) 2010 Samsung Electronics Co., Ltd.44- * http://www.samsung.com/55- *66- * Header file for s5p6442 cpu support77- *88- * This program is free software; you can redistribute it and/or modify99- * it under the terms of the GNU General Public License version 2 as1010- * published by the Free Software Foundation.1111-*/1212-1313-/* Common init code for S5P6442 related SoCs */1414-1515-extern void s5p6442_common_init_uarts(struct s3c2410_uartcfg *cfg, int no);1616-extern void s5p6442_register_clocks(void);1717-extern void s5p6442_setup_clocks(void);1818-1919-#ifdef CONFIG_CPU_S5P64422020-2121-extern int s5p6442_init(void);2222-extern void s5p6442_init_irq(void);2323-extern void s5p6442_map_io(void);2424-extern void s5p6442_init_clocks(int xtal);2525-2626-#define s5p6442_init_uarts s5p6442_common_init_uarts2727-2828-#else2929-#define s5p6442_init_clocks NULL3030-#define s5p6442_init_uarts NULL3131-#define s5p6442_map_io NULL3232-#define s5p6442_init NULL3333-#endif
···11111212#include <plat/regs-serial.h>13131414-/* The S5PV210/S5PC110 and S5P6442 implementations are as belows. */1414+/* The S5PV210/S5PC110 implementations are as belows. */15151616 .macro fifo_level_s5pv210 rd, rx1717 ldr \rd, [ \rx, # S3C2410_UFSTAT ]
···194194#define S3C64XX_UINTSP 0x34195195#define S3C64XX_UINTM 0x38196196197197-/* Following are specific to S5PV210 and S5P6442 */197197+/* Following are specific to S5PV210 */198198#define S5PV210_UCON_CLKMASK (1<<10)199199#define S5PV210_UCON_PCLK (0<<10)200200#define S5PV210_UCON_UCLK (1<<10)
-1
arch/arm/plat-samsung/include/plat/s3c64xx-spi.h
···6969extern void s5pc100_spi_set_info(int cntrlr, int src_clk_nr, int num_cs);7070extern void s5pv210_spi_set_info(int cntrlr, int src_clk_nr, int num_cs);7171extern void s5p64x0_spi_set_info(int cntrlr, int src_clk_nr, int num_cs);7272-extern void s5p6442_spi_set_info(int cntrlr, int src_clk_nr, int num_cs);73727473#endif /* __S3C64XX_PLAT_SPI_H */
+2-2
sound/soc/samsung/Kconfig
···11config SND_SOC_SAMSUNG22 tristate "ASoC support for Samsung"33- depends on ARCH_S3C2410 || ARCH_S3C64XX || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_S5P64X0 || ARCH_S5P6442 || ARCH_EXYNOS433+ depends on ARCH_S3C2410 || ARCH_S3C64XX || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_S5P64X0 || ARCH_EXYNOS444 select S3C64XX_DMA if ARCH_S3C64XX55 select S3C2410_DMA if ARCH_S3C241066 help···55555656config SND_SOC_SAMSUNG_SMDK_WM85805757 tristate "SoC I2S Audio support for WM8580 on SMDK"5858- depends on SND_SOC_SAMSUNG && (MACH_SMDK6410 || MACH_SMDKC100 || MACH_SMDK6440 || MACH_SMDK6450 || MACH_SMDK6442 || MACH_SMDKV210 || MACH_SMDKC110)5858+ depends on SND_SOC_SAMSUNG && (MACH_SMDK6410 || MACH_SMDKC100 || MACH_SMDK6440 || MACH_SMDK6450 || MACH_SMDKV210 || MACH_SMDKC110)5959 select SND_SOC_WM85806060 select SND_SAMSUNG_I2S6161 help
+1-1
sound/soc/samsung/smdk_wm8580.c
···249249 int ret;250250 char *str;251251252252- if (machine_is_smdkc100() || machine_is_smdk6442()252252+ if (machine_is_smdkc100()253253 || machine_is_smdkv210() || machine_is_smdkc110()) {254254 smdk.num_links = 3;255255 /* Secondary is at offset SAMSUNG_I2S_SECOFF from Primary */