diff options
Diffstat (limited to 'arch/arm')
44 files changed, 532 insertions, 616 deletions
diff --git a/arch/arm/boot/dts/emev2-kzm9d.dts b/arch/arm/boot/dts/emev2-kzm9d.dts index 297e3baba71c..b9b3241f173b 100644 --- a/arch/arm/boot/dts/emev2-kzm9d.dts +++ b/arch/arm/boot/dts/emev2-kzm9d.dts | |||
@@ -21,6 +21,6 @@ | |||
21 | }; | 21 | }; |
22 | 22 | ||
23 | chosen { | 23 | chosen { |
24 | bootargs = "console=ttyS1,115200n81"; | 24 | bootargs = "console=tty0 console=ttyS1,115200n81 earlyprintk=serial8250-em.1,115200n81 mem=128M@0x40000000 ignore_loglevel root=/dev/nfs ip=dhcp nfsroot=,rsize=4096,wsize=4096"; |
25 | }; | 25 | }; |
26 | }; | 26 | }; |
diff --git a/arch/arm/boot/dts/r8a7740-armadillo800eva.dts b/arch/arm/boot/dts/r8a7740-armadillo800eva.dts index a7505a95a3b7..93da655b2598 100644 --- a/arch/arm/boot/dts/r8a7740-armadillo800eva.dts +++ b/arch/arm/boot/dts/r8a7740-armadillo800eva.dts | |||
@@ -9,12 +9,16 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | /dts-v1/; | 11 | /dts-v1/; |
12 | /include/ "skeleton.dtsi" | 12 | /include/ "r8a7740.dtsi" |
13 | 13 | ||
14 | / { | 14 | / { |
15 | model = "armadillo 800 eva"; | 15 | model = "armadillo 800 eva"; |
16 | compatible = "renesas,armadillo800eva"; | 16 | compatible = "renesas,armadillo800eva"; |
17 | 17 | ||
18 | chosen { | ||
19 | bootargs = "console=tty0 console=ttySC1,115200 earlyprintk=sh-sci.1,115200 ignore_loglevel root=/dev/nfs ip=dhcp nfsroot=,rsize=4096,wsize=4096 rw"; | ||
20 | }; | ||
21 | |||
18 | memory { | 22 | memory { |
19 | device_type = "memory"; | 23 | device_type = "memory"; |
20 | reg = <0x40000000 0x20000000>; | 24 | reg = <0x40000000 0x20000000>; |
diff --git a/arch/arm/boot/dts/sh7372-mackerel.dts b/arch/arm/boot/dts/sh7372-mackerel.dts index 286f0caef013..8acf51e0cdae 100644 --- a/arch/arm/boot/dts/sh7372-mackerel.dts +++ b/arch/arm/boot/dts/sh7372-mackerel.dts | |||
@@ -9,12 +9,16 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | /dts-v1/; | 11 | /dts-v1/; |
12 | /include/ "skeleton.dtsi" | 12 | /include/ "sh7372.dtsi" |
13 | 13 | ||
14 | / { | 14 | / { |
15 | model = "Mackerel (AP4 EVM 2nd)"; | 15 | model = "Mackerel (AP4 EVM 2nd)"; |
16 | compatible = "renesas,mackerel"; | 16 | compatible = "renesas,mackerel"; |
17 | 17 | ||
18 | chosen { | ||
19 | bootargs = "console=tty0, console=ttySC0,115200 earlyprintk=sh-sci.0,115200 root=/dev/nfs nfsroot=,tcp,v3 ip=dhcp mem=240m rw"; | ||
20 | }; | ||
21 | |||
18 | memory { | 22 | memory { |
19 | device_type = "memory"; | 23 | device_type = "memory"; |
20 | reg = <0x40000000 0x10000000>; | 24 | reg = <0x40000000 0x10000000>; |
diff --git a/arch/arm/boot/dts/sh73a0-kzm9g.dts b/arch/arm/boot/dts/sh73a0-kzm9g.dts index bcb911951978..7c4071e7790c 100644 --- a/arch/arm/boot/dts/sh73a0-kzm9g.dts +++ b/arch/arm/boot/dts/sh73a0-kzm9g.dts | |||
@@ -9,12 +9,16 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | /dts-v1/; | 11 | /dts-v1/; |
12 | /include/ "skeleton.dtsi" | 12 | /include/ "sh73a0.dtsi" |
13 | 13 | ||
14 | / { | 14 | / { |
15 | model = "KZM-A9-GT"; | 15 | model = "KZM-A9-GT"; |
16 | compatible = "renesas,kzm9g", "renesas,sh73a0"; | 16 | compatible = "renesas,kzm9g", "renesas,sh73a0"; |
17 | 17 | ||
18 | chosen { | ||
19 | bootargs = "console=tty0 console=ttySC4,115200 root=/dev/nfs ip=dhcp ignore_loglevel earlyprintk=sh-sci.4,115200"; | ||
20 | }; | ||
21 | |||
18 | memory { | 22 | memory { |
19 | device_type = "memory"; | 23 | device_type = "memory"; |
20 | reg = <0x41000000 0x1e800000>; | 24 | reg = <0x41000000 0x1e800000>; |
diff --git a/arch/arm/configs/armadillo800eva_defconfig b/arch/arm/configs/armadillo800eva_defconfig index 2e1a82577207..0b98100d2ae7 100644 --- a/arch/arm/configs/armadillo800eva_defconfig +++ b/arch/arm/configs/armadillo800eva_defconfig | |||
@@ -34,12 +34,11 @@ CONFIG_AEABI=y | |||
34 | CONFIG_FORCE_MAX_ZONEORDER=13 | 34 | CONFIG_FORCE_MAX_ZONEORDER=13 |
35 | CONFIG_ZBOOT_ROM_TEXT=0x0 | 35 | CONFIG_ZBOOT_ROM_TEXT=0x0 |
36 | CONFIG_ZBOOT_ROM_BSS=0x0 | 36 | CONFIG_ZBOOT_ROM_BSS=0x0 |
37 | CONFIG_CMDLINE="console=tty0 console=ttySC1,115200 earlyprintk=sh-sci.1,115200 ignore_loglevel root=/dev/nfs ip=dhcp nfsroot=,rsize=4096,wsize=4096 rw" | 37 | CONFIG_ARM_APPENDED_DTB=y |
38 | CONFIG_CMDLINE_FORCE=y | ||
39 | CONFIG_KEXEC=y | 38 | CONFIG_KEXEC=y |
40 | CONFIG_VFP=y | 39 | CONFIG_VFP=y |
41 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | 40 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set |
42 | # CONFIG_SUSPEND is not set | 41 | CONFIG_PM_RUNTIME=y |
43 | CONFIG_NET=y | 42 | CONFIG_NET=y |
44 | CONFIG_PACKET=y | 43 | CONFIG_PACKET=y |
45 | CONFIG_UNIX=y | 44 | CONFIG_UNIX=y |
@@ -91,14 +90,11 @@ CONFIG_I2C_SH_MOBILE=y | |||
91 | # CONFIG_HWMON is not set | 90 | # CONFIG_HWMON is not set |
92 | CONFIG_MEDIA_SUPPORT=y | 91 | CONFIG_MEDIA_SUPPORT=y |
93 | CONFIG_VIDEO_DEV=y | 92 | CONFIG_VIDEO_DEV=y |
94 | # CONFIG_RC_CORE is not set | 93 | CONFIG_MEDIA_CAMERA_SUPPORT=y |
95 | # CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set | ||
96 | # CONFIG_V4L_USB_DRIVERS is not set | ||
97 | CONFIG_V4L_PLATFORM_DRIVERS=y | 94 | CONFIG_V4L_PLATFORM_DRIVERS=y |
98 | CONFIG_SOC_CAMERA=y | 95 | CONFIG_SOC_CAMERA=y |
99 | CONFIG_SOC_CAMERA_MT9T112=y | 96 | CONFIG_SOC_CAMERA_MT9T112=y |
100 | CONFIG_VIDEO_SH_MOBILE_CEU=y | 97 | CONFIG_VIDEO_SH_MOBILE_CEU=y |
101 | # CONFIG_RADIO_ADAPTERS is not set | ||
102 | CONFIG_FB=y | 98 | CONFIG_FB=y |
103 | CONFIG_FB_SH_MOBILE_LCDC=y | 99 | CONFIG_FB_SH_MOBILE_LCDC=y |
104 | CONFIG_FB_SH_MOBILE_HDMI=y | 100 | CONFIG_FB_SH_MOBILE_HDMI=y |
diff --git a/arch/arm/configs/bcm2835_defconfig b/arch/arm/configs/bcm2835_defconfig index 74e27f0ff6ad..af472e4ed451 100644 --- a/arch/arm/configs/bcm2835_defconfig +++ b/arch/arm/configs/bcm2835_defconfig | |||
@@ -1,11 +1,10 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | ||
2 | # CONFIG_LOCALVERSION_AUTO is not set | 1 | # CONFIG_LOCALVERSION_AUTO is not set |
3 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
4 | CONFIG_BSD_PROCESS_ACCT=y | ||
5 | CONFIG_BSD_PROCESS_ACCT_V3=y | ||
6 | CONFIG_FHANDLE=y | 3 | CONFIG_FHANDLE=y |
7 | CONFIG_NO_HZ=y | 4 | CONFIG_NO_HZ=y |
8 | CONFIG_HIGH_RES_TIMERS=y | 5 | CONFIG_HIGH_RES_TIMERS=y |
6 | CONFIG_BSD_PROCESS_ACCT=y | ||
7 | CONFIG_BSD_PROCESS_ACCT_V3=y | ||
9 | CONFIG_LOG_BUF_SHIFT=18 | 8 | CONFIG_LOG_BUF_SHIFT=18 |
10 | CONFIG_CGROUP_FREEZER=y | 9 | CONFIG_CGROUP_FREEZER=y |
11 | CONFIG_CGROUP_DEVICE=y | 10 | CONFIG_CGROUP_DEVICE=y |
@@ -30,13 +29,10 @@ CONFIG_EMBEDDED=y | |||
30 | CONFIG_PROFILING=y | 29 | CONFIG_PROFILING=y |
31 | CONFIG_OPROFILE=y | 30 | CONFIG_OPROFILE=y |
32 | CONFIG_JUMP_LABEL=y | 31 | CONFIG_JUMP_LABEL=y |
33 | # CONFIG_BLOCK is not set | ||
34 | CONFIG_ARCH_BCM2835=y | 32 | CONFIG_ARCH_BCM2835=y |
35 | CONFIG_PREEMPT_VOLUNTARY=y | 33 | CONFIG_PREEMPT_VOLUNTARY=y |
36 | CONFIG_AEABI=y | 34 | CONFIG_AEABI=y |
37 | CONFIG_COMPACTION=y | ||
38 | CONFIG_KSM=y | 35 | CONFIG_KSM=y |
39 | CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 | ||
40 | CONFIG_CLEANCACHE=y | 36 | CONFIG_CLEANCACHE=y |
41 | CONFIG_SECCOMP=y | 37 | CONFIG_SECCOMP=y |
42 | CONFIG_CC_STACKPROTECTOR=y | 38 | CONFIG_CC_STACKPROTECTOR=y |
@@ -45,6 +41,11 @@ CONFIG_CRASH_DUMP=y | |||
45 | CONFIG_VFP=y | 41 | CONFIG_VFP=y |
46 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | 42 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set |
47 | # CONFIG_SUSPEND is not set | 43 | # CONFIG_SUSPEND is not set |
44 | CONFIG_NET=y | ||
45 | CONFIG_UNIX=y | ||
46 | CONFIG_INET=y | ||
47 | CONFIG_NETWORK_SECMARK=y | ||
48 | # CONFIG_WIRELESS is not set | ||
48 | CONFIG_DEVTMPFS=y | 49 | CONFIG_DEVTMPFS=y |
49 | CONFIG_DEVTMPFS_MOUNT=y | 50 | CONFIG_DEVTMPFS_MOUNT=y |
50 | # CONFIG_STANDALONE is not set | 51 | # CONFIG_STANDALONE is not set |
@@ -53,20 +54,42 @@ CONFIG_DEVTMPFS_MOUNT=y | |||
53 | # CONFIG_INPUT_MOUSE is not set | 54 | # CONFIG_INPUT_MOUSE is not set |
54 | # CONFIG_SERIO is not set | 55 | # CONFIG_SERIO is not set |
55 | # CONFIG_VT is not set | 56 | # CONFIG_VT is not set |
56 | # CONFIG_UNIX98_PTYS is not set | ||
57 | # CONFIG_LEGACY_PTYS is not set | 57 | # CONFIG_LEGACY_PTYS is not set |
58 | # CONFIG_DEVKMEM is not set | 58 | # CONFIG_DEVKMEM is not set |
59 | CONFIG_SERIAL_AMBA_PL011=y | 59 | CONFIG_SERIAL_AMBA_PL011=y |
60 | CONFIG_SERIAL_AMBA_PL011_CONSOLE=y | 60 | CONFIG_SERIAL_AMBA_PL011_CONSOLE=y |
61 | CONFIG_TTY_PRINTK=y | 61 | CONFIG_TTY_PRINTK=y |
62 | # CONFIG_HW_RANDOM is not set | 62 | # CONFIG_HW_RANDOM is not set |
63 | CONFIG_I2C=y | ||
64 | CONFIG_I2C_CHARDEV=y | ||
65 | CONFIG_I2C_BCM2835=y | ||
66 | CONFIG_GPIO_SYSFS=y | ||
63 | # CONFIG_HWMON is not set | 67 | # CONFIG_HWMON is not set |
64 | # CONFIG_USB_SUPPORT is not set | 68 | # CONFIG_USB_SUPPORT is not set |
69 | CONFIG_MMC=y | ||
70 | CONFIG_MMC_SDHCI=y | ||
71 | CONFIG_MMC_SDHCI_PLTFM=y | ||
72 | CONFIG_MMC_SDHCI_BCM2835=y | ||
65 | # CONFIG_IOMMU_SUPPORT is not set | 73 | # CONFIG_IOMMU_SUPPORT is not set |
66 | # CONFIG_FILE_LOCKING is not set | 74 | CONFIG_EXT2_FS=y |
67 | # CONFIG_DNOTIFY is not set | 75 | CONFIG_EXT2_FS_XATTR=y |
68 | # CONFIG_INOTIFY_USER is not set | 76 | CONFIG_EXT2_FS_POSIX_ACL=y |
77 | CONFIG_EXT3_FS=y | ||
78 | CONFIG_EXT3_FS_POSIX_ACL=y | ||
79 | CONFIG_EXT4_FS=y | ||
80 | CONFIG_EXT4_FS_POSIX_ACL=y | ||
81 | CONFIG_FANOTIFY=y | ||
82 | CONFIG_MSDOS_FS=y | ||
83 | CONFIG_VFAT_FS=y | ||
84 | CONFIG_TMPFS=y | ||
85 | CONFIG_TMPFS_POSIX_ACL=y | ||
69 | # CONFIG_MISC_FILESYSTEMS is not set | 86 | # CONFIG_MISC_FILESYSTEMS is not set |
87 | CONFIG_NFS_FS=y | ||
88 | CONFIG_NFSD=y | ||
89 | CONFIG_NLS_CODEPAGE_437=y | ||
90 | CONFIG_NLS_ASCII=y | ||
91 | CONFIG_NLS_ISO8859_1=y | ||
92 | CONFIG_NLS_UTF8=y | ||
70 | CONFIG_PRINTK_TIME=y | 93 | CONFIG_PRINTK_TIME=y |
71 | # CONFIG_ENABLE_WARN_DEPRECATED is not set | 94 | # CONFIG_ENABLE_WARN_DEPRECATED is not set |
72 | # CONFIG_ENABLE_MUST_CHECK is not set | 95 | # CONFIG_ENABLE_MUST_CHECK is not set |
diff --git a/arch/arm/configs/da8xx_omapl_defconfig b/arch/arm/configs/da8xx_omapl_defconfig index f29223954af8..6b36a5ae03c2 100644 --- a/arch/arm/configs/da8xx_omapl_defconfig +++ b/arch/arm/configs/da8xx_omapl_defconfig | |||
@@ -36,6 +36,7 @@ CONFIG_CPU_FREQ_GOV_PERFORMANCE=m | |||
36 | CONFIG_CPU_FREQ_GOV_POWERSAVE=m | 36 | CONFIG_CPU_FREQ_GOV_POWERSAVE=m |
37 | CONFIG_CPU_FREQ_GOV_ONDEMAND=m | 37 | CONFIG_CPU_FREQ_GOV_ONDEMAND=m |
38 | CONFIG_CPU_IDLE=y | 38 | CONFIG_CPU_IDLE=y |
39 | CONFIG_PM_RUNTIME=y | ||
39 | CONFIG_NET=y | 40 | CONFIG_NET=y |
40 | CONFIG_PACKET=y | 41 | CONFIG_PACKET=y |
41 | CONFIG_UNIX=y | 42 | CONFIG_UNIX=y |
@@ -45,6 +46,8 @@ CONFIG_IP_PNP_DHCP=y | |||
45 | # CONFIG_INET_LRO is not set | 46 | # CONFIG_INET_LRO is not set |
46 | CONFIG_NETFILTER=y | 47 | CONFIG_NETFILTER=y |
47 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 48 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
49 | CONFIG_DEVTMPFS=y | ||
50 | CONFIG_DEVTMPFS_MOUNT=y | ||
48 | # CONFIG_FW_LOADER is not set | 51 | # CONFIG_FW_LOADER is not set |
49 | CONFIG_BLK_DEV_LOOP=m | 52 | CONFIG_BLK_DEV_LOOP=m |
50 | CONFIG_BLK_DEV_RAM=y | 53 | CONFIG_BLK_DEV_RAM=y |
diff --git a/arch/arm/configs/davinci_all_defconfig b/arch/arm/configs/davinci_all_defconfig index 4ea7c95719d2..3edc78a40b66 100644 --- a/arch/arm/configs/davinci_all_defconfig +++ b/arch/arm/configs/davinci_all_defconfig | |||
@@ -33,6 +33,7 @@ CONFIG_AEABI=y | |||
33 | CONFIG_LEDS=y | 33 | CONFIG_LEDS=y |
34 | CONFIG_ZBOOT_ROM_TEXT=0x0 | 34 | CONFIG_ZBOOT_ROM_TEXT=0x0 |
35 | CONFIG_ZBOOT_ROM_BSS=0x0 | 35 | CONFIG_ZBOOT_ROM_BSS=0x0 |
36 | CONFIG_PM_RUNTIME=y | ||
36 | CONFIG_NET=y | 37 | CONFIG_NET=y |
37 | CONFIG_PACKET=y | 38 | CONFIG_PACKET=y |
38 | CONFIG_UNIX=y | 39 | CONFIG_UNIX=y |
@@ -42,6 +43,8 @@ CONFIG_IP_PNP_DHCP=y | |||
42 | # CONFIG_INET_LRO is not set | 43 | # CONFIG_INET_LRO is not set |
43 | CONFIG_NETFILTER=y | 44 | CONFIG_NETFILTER=y |
44 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 45 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
46 | CONFIG_DEVTMPFS=y | ||
47 | CONFIG_DEVTMPFS_MOUNT=y | ||
45 | # CONFIG_FW_LOADER is not set | 48 | # CONFIG_FW_LOADER is not set |
46 | CONFIG_MTD=m | 49 | CONFIG_MTD=m |
47 | CONFIG_MTD_PARTITIONS=y | 50 | CONFIG_MTD_PARTITIONS=y |
diff --git a/arch/arm/configs/kota2_defconfig b/arch/arm/configs/kota2_defconfig index fa83db1ef0eb..57ad3d47de70 100644 --- a/arch/arm/configs/kota2_defconfig +++ b/arch/arm/configs/kota2_defconfig | |||
@@ -21,7 +21,7 @@ CONFIG_ARCH_SHMOBILE=y | |||
21 | CONFIG_KEYBOARD_GPIO_POLLED=y | 21 | CONFIG_KEYBOARD_GPIO_POLLED=y |
22 | CONFIG_ARCH_SH73A0=y | 22 | CONFIG_ARCH_SH73A0=y |
23 | CONFIG_MACH_KOTA2=y | 23 | CONFIG_MACH_KOTA2=y |
24 | CONFIG_MEMORY_SIZE=0x1e0000000 | 24 | CONFIG_MEMORY_SIZE=0x1e000000 |
25 | # CONFIG_SH_TIMER_TMU is not set | 25 | # CONFIG_SH_TIMER_TMU is not set |
26 | # CONFIG_SWP_EMULATE is not set | 26 | # CONFIG_SWP_EMULATE is not set |
27 | CONFIG_CPU_BPREDICT_DISABLE=y | 27 | CONFIG_CPU_BPREDICT_DISABLE=y |
diff --git a/arch/arm/configs/kzm9d_defconfig b/arch/arm/configs/kzm9d_defconfig index 8c49df66cac3..6c37f4a98eb8 100644 --- a/arch/arm/configs/kzm9d_defconfig +++ b/arch/arm/configs/kzm9d_defconfig | |||
@@ -32,11 +32,9 @@ CONFIG_FORCE_MAX_ZONEORDER=13 | |||
32 | CONFIG_ZBOOT_ROM_TEXT=0x0 | 32 | CONFIG_ZBOOT_ROM_TEXT=0x0 |
33 | CONFIG_ZBOOT_ROM_BSS=0x0 | 33 | CONFIG_ZBOOT_ROM_BSS=0x0 |
34 | CONFIG_ARM_APPENDED_DTB=y | 34 | CONFIG_ARM_APPENDED_DTB=y |
35 | CONFIG_CMDLINE="console=tty0 console=ttyS1,115200n81 earlyprintk=serial8250-em.1,115200n81 mem=128M@0x40000000 ignore_loglevel root=/dev/nfs ip=dhcp nfsroot=,rsize=4096,wsize=4096" | ||
36 | CONFIG_CMDLINE_FORCE=y | ||
37 | CONFIG_VFP=y | 35 | CONFIG_VFP=y |
38 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | 36 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set |
39 | # CONFIG_SUSPEND is not set | 37 | CONFIG_PM_RUNTIME=y |
40 | CONFIG_NET=y | 38 | CONFIG_NET=y |
41 | CONFIG_PACKET=y | 39 | CONFIG_PACKET=y |
42 | CONFIG_UNIX=y | 40 | CONFIG_UNIX=y |
diff --git a/arch/arm/configs/kzm9g_defconfig b/arch/arm/configs/kzm9g_defconfig index afbae287436b..670c3b60f936 100644 --- a/arch/arm/configs/kzm9g_defconfig +++ b/arch/arm/configs/kzm9g_defconfig | |||
@@ -39,7 +39,7 @@ CONFIG_AEABI=y | |||
39 | CONFIG_HIGHMEM=y | 39 | CONFIG_HIGHMEM=y |
40 | CONFIG_ZBOOT_ROM_TEXT=0x0 | 40 | CONFIG_ZBOOT_ROM_TEXT=0x0 |
41 | CONFIG_ZBOOT_ROM_BSS=0x0 | 41 | CONFIG_ZBOOT_ROM_BSS=0x0 |
42 | CONFIG_CMDLINE="console=tty0 console=ttySC4,115200 root=/dev/nfs ip=dhcp ignore_loglevel earlyprintk=sh-sci.4,115200" | 42 | CONFIG_ARM_APPENDED_DTB=y |
43 | CONFIG_KEXEC=y | 43 | CONFIG_KEXEC=y |
44 | CONFIG_VFP=y | 44 | CONFIG_VFP=y |
45 | CONFIG_NEON=y | 45 | CONFIG_NEON=y |
@@ -85,6 +85,8 @@ CONFIG_I2C_CHARDEV=y | |||
85 | CONFIG_I2C_SH_MOBILE=y | 85 | CONFIG_I2C_SH_MOBILE=y |
86 | CONFIG_GPIO_PCF857X=y | 86 | CONFIG_GPIO_PCF857X=y |
87 | # CONFIG_HWMON is not set | 87 | # CONFIG_HWMON is not set |
88 | CONFIG_REGULATOR=y | ||
89 | CONFIG_REGULATOR_DUMMY=y | ||
88 | CONFIG_FB=y | 90 | CONFIG_FB=y |
89 | CONFIG_FB_SH_MOBILE_LCDC=y | 91 | CONFIG_FB_SH_MOBILE_LCDC=y |
90 | CONFIG_FRAMEBUFFER_CONSOLE=y | 92 | CONFIG_FRAMEBUFFER_CONSOLE=y |
diff --git a/arch/arm/configs/mackerel_defconfig b/arch/arm/configs/mackerel_defconfig index 2098ce155542..7594b3aff259 100644 --- a/arch/arm/configs/mackerel_defconfig +++ b/arch/arm/configs/mackerel_defconfig | |||
@@ -23,8 +23,9 @@ CONFIG_AEABI=y | |||
23 | CONFIG_FORCE_MAX_ZONEORDER=15 | 23 | CONFIG_FORCE_MAX_ZONEORDER=15 |
24 | CONFIG_ZBOOT_ROM_TEXT=0x0 | 24 | CONFIG_ZBOOT_ROM_TEXT=0x0 |
25 | CONFIG_ZBOOT_ROM_BSS=0x0 | 25 | CONFIG_ZBOOT_ROM_BSS=0x0 |
26 | CONFIG_CMDLINE="console=tty0, console=ttySC0,115200 earlyprintk=sh-sci.0,115200 root=/dev/nfs nfsroot=,tcp,v3 ip=dhcp memchunk.vpu=64m memchunk.veu0=8m memchunk.spu0=2m mem=240m" | 26 | CONFIG_ARM_APPENDED_DTB=y |
27 | CONFIG_KEXEC=y | 27 | CONFIG_KEXEC=y |
28 | CONFIG_VFP=y | ||
28 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | 29 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set |
29 | CONFIG_PM=y | 30 | CONFIG_PM=y |
30 | CONFIG_PM_RUNTIME=y | 31 | CONFIG_PM_RUNTIME=y |
diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig index 82ce8d738fa1..76938cb50b45 100644 --- a/arch/arm/configs/omap2plus_defconfig +++ b/arch/arm/configs/omap2plus_defconfig | |||
@@ -52,6 +52,11 @@ CONFIG_IP_PNP_RARP=y | |||
52 | # CONFIG_INET_LRO is not set | 52 | # CONFIG_INET_LRO is not set |
53 | # CONFIG_IPV6 is not set | 53 | # CONFIG_IPV6 is not set |
54 | CONFIG_NETFILTER=y | 54 | CONFIG_NETFILTER=y |
55 | CONFIG_CAN=m | ||
56 | CONFIG_CAN_RAW=m | ||
57 | CONFIG_CAN_BCM=m | ||
58 | CONFIG_CAN_C_CAN=m | ||
59 | CONFIG_CAN_C_CAN_PLATFORM=m | ||
55 | CONFIG_BT=m | 60 | CONFIG_BT=m |
56 | CONFIG_BT_HCIUART=m | 61 | CONFIG_BT_HCIUART=m |
57 | CONFIG_BT_HCIUART_H4=y | 62 | CONFIG_BT_HCIUART_H4=y |
@@ -64,6 +69,7 @@ CONFIG_MAC80211=m | |||
64 | CONFIG_MAC80211_RC_PID=y | 69 | CONFIG_MAC80211_RC_PID=y |
65 | CONFIG_MAC80211_RC_DEFAULT_PID=y | 70 | CONFIG_MAC80211_RC_DEFAULT_PID=y |
66 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 71 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
72 | CONFIG_CMA=y | ||
67 | CONFIG_CONNECTOR=y | 73 | CONFIG_CONNECTOR=y |
68 | CONFIG_DEVTMPFS=y | 74 | CONFIG_DEVTMPFS=y |
69 | CONFIG_DEVTMPFS_MOUNT=y | 75 | CONFIG_DEVTMPFS_MOUNT=y |
@@ -83,6 +89,9 @@ CONFIG_MTD_UBI=y | |||
83 | CONFIG_BLK_DEV_LOOP=y | 89 | CONFIG_BLK_DEV_LOOP=y |
84 | CONFIG_BLK_DEV_RAM=y | 90 | CONFIG_BLK_DEV_RAM=y |
85 | CONFIG_BLK_DEV_RAM_SIZE=16384 | 91 | CONFIG_BLK_DEV_RAM_SIZE=16384 |
92 | CONFIG_SENSORS_LIS3LV02D=m | ||
93 | CONFIG_SENSORS_TSL2550=m | ||
94 | CONFIG_SENSORS_LIS3_I2C=m | ||
86 | CONFIG_SCSI=y | 95 | CONFIG_SCSI=y |
87 | CONFIG_BLK_DEV_SD=y | 96 | CONFIG_BLK_DEV_SD=y |
88 | CONFIG_SCSI_MULTI_LUN=y | 97 | CONFIG_SCSI_MULTI_LUN=y |
@@ -108,6 +117,7 @@ CONFIG_USB_KC2190=y | |||
108 | CONFIG_INPUT_JOYDEV=y | 117 | CONFIG_INPUT_JOYDEV=y |
109 | CONFIG_INPUT_EVDEV=y | 118 | CONFIG_INPUT_EVDEV=y |
110 | CONFIG_KEYBOARD_GPIO=y | 119 | CONFIG_KEYBOARD_GPIO=y |
120 | CONFIG_KEYBOARD_MATRIX=m | ||
111 | CONFIG_KEYBOARD_TWL4030=y | 121 | CONFIG_KEYBOARD_TWL4030=y |
112 | CONFIG_INPUT_TOUCHSCREEN=y | 122 | CONFIG_INPUT_TOUCHSCREEN=y |
113 | CONFIG_TOUCHSCREEN_ADS7846=y | 123 | CONFIG_TOUCHSCREEN_ADS7846=y |
@@ -131,14 +141,17 @@ CONFIG_GPIO_SYSFS=y | |||
131 | CONFIG_GPIO_TWL4030=y | 141 | CONFIG_GPIO_TWL4030=y |
132 | CONFIG_W1=y | 142 | CONFIG_W1=y |
133 | CONFIG_POWER_SUPPLY=y | 143 | CONFIG_POWER_SUPPLY=y |
144 | CONFIG_SENSORS_LM75=m | ||
134 | CONFIG_WATCHDOG=y | 145 | CONFIG_WATCHDOG=y |
135 | CONFIG_OMAP_WATCHDOG=y | 146 | CONFIG_OMAP_WATCHDOG=y |
136 | CONFIG_TWL4030_WATCHDOG=y | 147 | CONFIG_TWL4030_WATCHDOG=y |
137 | CONFIG_MFD_TPS65217=y | 148 | CONFIG_MFD_TPS65217=y |
149 | CONFIG_MFD_TPS65910=y | ||
138 | CONFIG_REGULATOR_TWL4030=y | 150 | CONFIG_REGULATOR_TWL4030=y |
139 | CONFIG_REGULATOR_TPS65023=y | 151 | CONFIG_REGULATOR_TPS65023=y |
140 | CONFIG_REGULATOR_TPS6507X=y | 152 | CONFIG_REGULATOR_TPS6507X=y |
141 | CONFIG_REGULATOR_TPS65217=y | 153 | CONFIG_REGULATOR_TPS65217=y |
154 | CONFIG_REGULATOR_TPS65910=y | ||
142 | CONFIG_FB=y | 155 | CONFIG_FB=y |
143 | CONFIG_FIRMWARE_EDID=y | 156 | CONFIG_FIRMWARE_EDID=y |
144 | CONFIG_FB_MODE_HELPERS=y | 157 | CONFIG_FB_MODE_HELPERS=y |
@@ -150,6 +163,7 @@ CONFIG_OMAP2_DSS_SDI=y | |||
150 | CONFIG_OMAP2_DSS_DSI=y | 163 | CONFIG_OMAP2_DSS_DSI=y |
151 | CONFIG_FB_OMAP2=m | 164 | CONFIG_FB_OMAP2=m |
152 | CONFIG_PANEL_GENERIC_DPI=m | 165 | CONFIG_PANEL_GENERIC_DPI=m |
166 | CONFIG_PANEL_TFP410=m | ||
153 | CONFIG_PANEL_SHARP_LS037V7DW01=m | 167 | CONFIG_PANEL_SHARP_LS037V7DW01=m |
154 | CONFIG_PANEL_NEC_NL8048HL11_01B=m | 168 | CONFIG_PANEL_NEC_NL8048HL11_01B=m |
155 | CONFIG_PANEL_TAAL=m | 169 | CONFIG_PANEL_TAAL=m |
@@ -196,9 +210,20 @@ CONFIG_MMC_UNSAFE_RESUME=y | |||
196 | CONFIG_SDIO_UART=y | 210 | CONFIG_SDIO_UART=y |
197 | CONFIG_MMC_OMAP=y | 211 | CONFIG_MMC_OMAP=y |
198 | CONFIG_MMC_OMAP_HS=y | 212 | CONFIG_MMC_OMAP_HS=y |
213 | CONFIG_NEW_LEDS=y | ||
214 | CONFIG_LEDS_GPIO=y | ||
215 | CONFIG_LEDS_TRIGGERS=y | ||
216 | CONFIG_LEDS_TRIGGER_TIMER=y | ||
217 | CONFIG_LEDS_TRIGGER_ONESHOT=y | ||
218 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | ||
219 | CONFIG_LEDS_TRIGGER_BACKLIGHT=y | ||
220 | CONFIG_LEDS_TRIGGER_CPU=y | ||
221 | CONFIG_LEDS_TRIGGER_GPIO=y | ||
222 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y | ||
199 | CONFIG_RTC_CLASS=y | 223 | CONFIG_RTC_CLASS=y |
200 | CONFIG_RTC_DRV_TWL92330=y | 224 | CONFIG_RTC_DRV_TWL92330=y |
201 | CONFIG_RTC_DRV_TWL4030=y | 225 | CONFIG_RTC_DRV_TWL4030=y |
226 | CONFIG_RTC_DRV_OMAP=y | ||
202 | CONFIG_DMADEVICES=y | 227 | CONFIG_DMADEVICES=y |
203 | CONFIG_DMA_OMAP=y | 228 | CONFIG_DMA_OMAP=y |
204 | CONFIG_EXT2_FS=y | 229 | CONFIG_EXT2_FS=y |
diff --git a/arch/arm/configs/tegra_defconfig b/arch/arm/configs/tegra_defconfig index a7827fd0616f..aba4881d20e5 100644 --- a/arch/arm/configs/tegra_defconfig +++ b/arch/arm/configs/tegra_defconfig | |||
@@ -38,6 +38,7 @@ CONFIG_HIGHMEM=y | |||
38 | CONFIG_ZBOOT_ROM_TEXT=0x0 | 38 | CONFIG_ZBOOT_ROM_TEXT=0x0 |
39 | CONFIG_ZBOOT_ROM_BSS=0x0 | 39 | CONFIG_ZBOOT_ROM_BSS=0x0 |
40 | CONFIG_AUTO_ZRELADDR=y | 40 | CONFIG_AUTO_ZRELADDR=y |
41 | CONFIG_KEXEC=y | ||
41 | CONFIG_CPU_FREQ=y | 42 | CONFIG_CPU_FREQ=y |
42 | CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y | 43 | CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y |
43 | CONFIG_CPU_IDLE=y | 44 | CONFIG_CPU_IDLE=y |
@@ -106,12 +107,14 @@ CONFIG_BRCMFMAC=m | |||
106 | CONFIG_RT2X00=y | 107 | CONFIG_RT2X00=y |
107 | CONFIG_RT2800USB=m | 108 | CONFIG_RT2800USB=m |
108 | CONFIG_INPUT_EVDEV=y | 109 | CONFIG_INPUT_EVDEV=y |
110 | CONFIG_KEYBOARD_TEGRA=y | ||
109 | CONFIG_INPUT_MISC=y | 111 | CONFIG_INPUT_MISC=y |
110 | CONFIG_INPUT_MPU3050=y | 112 | CONFIG_INPUT_MPU3050=y |
111 | # CONFIG_LEGACY_PTYS is not set | 113 | # CONFIG_LEGACY_PTYS is not set |
112 | # CONFIG_DEVKMEM is not set | 114 | # CONFIG_DEVKMEM is not set |
113 | CONFIG_SERIAL_8250=y | 115 | CONFIG_SERIAL_8250=y |
114 | CONFIG_SERIAL_8250_CONSOLE=y | 116 | CONFIG_SERIAL_8250_CONSOLE=y |
117 | CONFIG_SERIAL_TEGRA=y | ||
115 | CONFIG_SERIAL_OF_PLATFORM=y | 118 | CONFIG_SERIAL_OF_PLATFORM=y |
116 | # CONFIG_HW_RANDOM is not set | 119 | # CONFIG_HW_RANDOM is not set |
117 | CONFIG_I2C=y | 120 | CONFIG_I2C=y |
@@ -127,6 +130,8 @@ CONFIG_GPIO_TPS6586X=y | |||
127 | CONFIG_GPIO_TPS65910=y | 130 | CONFIG_GPIO_TPS65910=y |
128 | CONFIG_POWER_SUPPLY=y | 131 | CONFIG_POWER_SUPPLY=y |
129 | CONFIG_BATTERY_SBS=y | 132 | CONFIG_BATTERY_SBS=y |
133 | CONFIG_POWER_RESET=y | ||
134 | CONFIG_POWER_RESET_GPIO=y | ||
130 | CONFIG_SENSORS_LM90=y | 135 | CONFIG_SENSORS_LM90=y |
131 | CONFIG_MFD_TPS6586X=y | 136 | CONFIG_MFD_TPS6586X=y |
132 | CONFIG_MFD_TPS65910=y | 137 | CONFIG_MFD_TPS65910=y |
@@ -186,6 +191,7 @@ CONFIG_RTC_INTF_SYSFS=y | |||
186 | CONFIG_RTC_INTF_PROC=y | 191 | CONFIG_RTC_INTF_PROC=y |
187 | CONFIG_RTC_INTF_DEV=y | 192 | CONFIG_RTC_INTF_DEV=y |
188 | CONFIG_RTC_DRV_MAX8907=y | 193 | CONFIG_RTC_DRV_MAX8907=y |
194 | CONFIG_RTC_DRV_TPS6586X=y | ||
189 | CONFIG_RTC_DRV_TPS65910=y | 195 | CONFIG_RTC_DRV_TPS65910=y |
190 | CONFIG_RTC_DRV_EM3027=y | 196 | CONFIG_RTC_DRV_EM3027=y |
191 | CONFIG_RTC_DRV_TEGRA=y | 197 | CONFIG_RTC_DRV_TEGRA=y |
diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c index 0299915575a8..fae66e37f6e6 100644 --- a/arch/arm/mach-davinci/board-da850-evm.c +++ b/arch/arm/mach-davinci/board-da850-evm.c | |||
@@ -349,13 +349,13 @@ static inline void da850_evm_setup_nor_nand(void) | |||
349 | if (!HAS_MMC) { | 349 | if (!HAS_MMC) { |
350 | ret = davinci_cfg_reg_list(da850_evm_nand_pins); | 350 | ret = davinci_cfg_reg_list(da850_evm_nand_pins); |
351 | if (ret) | 351 | if (ret) |
352 | pr_warning("da850_evm_init: nand mux setup failed: " | 352 | pr_warn("%s: NAND mux setup failed: %d\n", |
353 | "%d\n", ret); | 353 | __func__, ret); |
354 | 354 | ||
355 | ret = davinci_cfg_reg_list(da850_evm_nor_pins); | 355 | ret = davinci_cfg_reg_list(da850_evm_nor_pins); |
356 | if (ret) | 356 | if (ret) |
357 | pr_warning("da850_evm_init: nor mux setup failed: %d\n", | 357 | pr_warn("%s: NOR mux setup failed: %d\n", |
358 | ret); | 358 | __func__, ret); |
359 | 359 | ||
360 | da850_evm_init_nor(); | 360 | da850_evm_init_nor(); |
361 | 361 | ||
@@ -477,19 +477,19 @@ static int da850_evm_ui_expander_setup(struct i2c_client *client, unsigned gpio, | |||
477 | 477 | ||
478 | ret = gpio_request(sel_a, da850_evm_ui_exp[DA850_EVM_UI_EXP_SEL_A]); | 478 | ret = gpio_request(sel_a, da850_evm_ui_exp[DA850_EVM_UI_EXP_SEL_A]); |
479 | if (ret) { | 479 | if (ret) { |
480 | pr_warning("Cannot open UI expander pin %d\n", sel_a); | 480 | pr_warn("Cannot open UI expander pin %d\n", sel_a); |
481 | goto exp_setup_sela_fail; | 481 | goto exp_setup_sela_fail; |
482 | } | 482 | } |
483 | 483 | ||
484 | ret = gpio_request(sel_b, da850_evm_ui_exp[DA850_EVM_UI_EXP_SEL_B]); | 484 | ret = gpio_request(sel_b, da850_evm_ui_exp[DA850_EVM_UI_EXP_SEL_B]); |
485 | if (ret) { | 485 | if (ret) { |
486 | pr_warning("Cannot open UI expander pin %d\n", sel_b); | 486 | pr_warn("Cannot open UI expander pin %d\n", sel_b); |
487 | goto exp_setup_selb_fail; | 487 | goto exp_setup_selb_fail; |
488 | } | 488 | } |
489 | 489 | ||
490 | ret = gpio_request(sel_c, da850_evm_ui_exp[DA850_EVM_UI_EXP_SEL_C]); | 490 | ret = gpio_request(sel_c, da850_evm_ui_exp[DA850_EVM_UI_EXP_SEL_C]); |
491 | if (ret) { | 491 | if (ret) { |
492 | pr_warning("Cannot open UI expander pin %d\n", sel_c); | 492 | pr_warn("Cannot open UI expander pin %d\n", sel_c); |
493 | goto exp_setup_selc_fail; | 493 | goto exp_setup_selc_fail; |
494 | } | 494 | } |
495 | 495 | ||
@@ -501,7 +501,7 @@ static int da850_evm_ui_expander_setup(struct i2c_client *client, unsigned gpio, | |||
501 | da850_evm_ui_keys_init(gpio); | 501 | da850_evm_ui_keys_init(gpio); |
502 | ret = platform_device_register(&da850_evm_ui_keys_device); | 502 | ret = platform_device_register(&da850_evm_ui_keys_device); |
503 | if (ret) { | 503 | if (ret) { |
504 | pr_warning("Could not register UI GPIO expander push-buttons"); | 504 | pr_warn("Could not register UI GPIO expander push-buttons"); |
505 | goto exp_setup_keys_fail; | 505 | goto exp_setup_keys_fail; |
506 | } | 506 | } |
507 | 507 | ||
@@ -690,14 +690,14 @@ static int da850_evm_bb_expander_setup(struct i2c_client *client, | |||
690 | da850_evm_bb_keys_init(gpio); | 690 | da850_evm_bb_keys_init(gpio); |
691 | ret = platform_device_register(&da850_evm_bb_keys_device); | 691 | ret = platform_device_register(&da850_evm_bb_keys_device); |
692 | if (ret) { | 692 | if (ret) { |
693 | pr_warning("Could not register baseboard GPIO expander keys"); | 693 | pr_warn("Could not register baseboard GPIO expander keys"); |
694 | goto io_exp_setup_sw_fail; | 694 | goto io_exp_setup_sw_fail; |
695 | } | 695 | } |
696 | 696 | ||
697 | da850_evm_bb_leds_init(gpio); | 697 | da850_evm_bb_leds_init(gpio); |
698 | ret = platform_device_register(&da850_evm_bb_leds_device); | 698 | ret = platform_device_register(&da850_evm_bb_leds_device); |
699 | if (ret) { | 699 | if (ret) { |
700 | pr_warning("Could not register baseboard GPIO expander LEDS"); | 700 | pr_warn("Could not register baseboard GPIO expander LEDs"); |
701 | goto io_exp_setup_leds_fail; | 701 | goto io_exp_setup_leds_fail; |
702 | } | 702 | } |
703 | 703 | ||
@@ -1065,21 +1065,19 @@ static int __init da850_evm_config_emac(void) | |||
1065 | } | 1065 | } |
1066 | 1066 | ||
1067 | if (ret) | 1067 | if (ret) |
1068 | pr_warning("da850_evm_init: cpgmac/rmii mux setup failed: %d\n", | 1068 | pr_warn("%s: CPGMAC/RMII mux setup failed: %d\n", |
1069 | ret); | 1069 | __func__, ret); |
1070 | 1070 | ||
1071 | /* configure the CFGCHIP3 register for RMII or MII */ | 1071 | /* configure the CFGCHIP3 register for RMII or MII */ |
1072 | __raw_writel(val, cfg_chip3_base); | 1072 | __raw_writel(val, cfg_chip3_base); |
1073 | 1073 | ||
1074 | ret = davinci_cfg_reg(DA850_GPIO2_6); | 1074 | ret = davinci_cfg_reg(DA850_GPIO2_6); |
1075 | if (ret) | 1075 | if (ret) |
1076 | pr_warning("da850_evm_init:GPIO(2,6) mux setup " | 1076 | pr_warn("%s:GPIO(2,6) mux setup failed\n", __func__); |
1077 | "failed\n"); | ||
1078 | 1077 | ||
1079 | ret = gpio_request(DA850_MII_MDIO_CLKEN_PIN, "mdio_clk_en"); | 1078 | ret = gpio_request(DA850_MII_MDIO_CLKEN_PIN, "mdio_clk_en"); |
1080 | if (ret) { | 1079 | if (ret) { |
1081 | pr_warning("Cannot open GPIO %d\n", | 1080 | pr_warn("Cannot open GPIO %d\n", DA850_MII_MDIO_CLKEN_PIN); |
1082 | DA850_MII_MDIO_CLKEN_PIN); | ||
1083 | return ret; | 1081 | return ret; |
1084 | } | 1082 | } |
1085 | 1083 | ||
@@ -1090,8 +1088,7 @@ static int __init da850_evm_config_emac(void) | |||
1090 | 1088 | ||
1091 | ret = da8xx_register_emac(); | 1089 | ret = da8xx_register_emac(); |
1092 | if (ret) | 1090 | if (ret) |
1093 | pr_warning("da850_evm_init: emac registration failed: %d\n", | 1091 | pr_warn("%s: EMAC registration failed: %d\n", __func__, ret); |
1094 | ret); | ||
1095 | 1092 | ||
1096 | return 0; | 1093 | return 0; |
1097 | } | 1094 | } |
@@ -1443,57 +1440,53 @@ static __init void da850_evm_init(void) | |||
1443 | 1440 | ||
1444 | ret = pmic_tps65070_init(); | 1441 | ret = pmic_tps65070_init(); |
1445 | if (ret) | 1442 | if (ret) |
1446 | pr_warning("da850_evm_init: TPS65070 PMIC init failed: %d\n", | 1443 | pr_warn("%s: TPS65070 PMIC init failed: %d\n", __func__, ret); |
1447 | ret); | ||
1448 | 1444 | ||
1449 | ret = da850_register_edma(da850_edma_rsv); | 1445 | ret = da850_register_edma(da850_edma_rsv); |
1450 | if (ret) | 1446 | if (ret) |
1451 | pr_warning("da850_evm_init: edma registration failed: %d\n", | 1447 | pr_warn("%s: EDMA registration failed: %d\n", __func__, ret); |
1452 | ret); | ||
1453 | 1448 | ||
1454 | ret = davinci_cfg_reg_list(da850_i2c0_pins); | 1449 | ret = davinci_cfg_reg_list(da850_i2c0_pins); |
1455 | if (ret) | 1450 | if (ret) |
1456 | pr_warning("da850_evm_init: i2c0 mux setup failed: %d\n", | 1451 | pr_warn("%s: I2C0 mux setup failed: %d\n", __func__, ret); |
1457 | ret); | ||
1458 | 1452 | ||
1459 | ret = da8xx_register_i2c(0, &da850_evm_i2c_0_pdata); | 1453 | ret = da8xx_register_i2c(0, &da850_evm_i2c_0_pdata); |
1460 | if (ret) | 1454 | if (ret) |
1461 | pr_warning("da850_evm_init: i2c0 registration failed: %d\n", | 1455 | pr_warn("%s: I2C0 registration failed: %d\n", __func__, ret); |
1462 | ret); | ||
1463 | 1456 | ||
1464 | 1457 | ||
1465 | ret = da8xx_register_watchdog(); | 1458 | ret = da8xx_register_watchdog(); |
1466 | if (ret) | 1459 | if (ret) |
1467 | pr_warning("da830_evm_init: watchdog registration failed: %d\n", | 1460 | pr_warn("%s: watchdog registration failed: %d\n", |
1468 | ret); | 1461 | __func__, ret); |
1469 | 1462 | ||
1470 | if (HAS_MMC) { | 1463 | if (HAS_MMC) { |
1471 | ret = davinci_cfg_reg_list(da850_evm_mmcsd0_pins); | 1464 | ret = davinci_cfg_reg_list(da850_evm_mmcsd0_pins); |
1472 | if (ret) | 1465 | if (ret) |
1473 | pr_warning("da850_evm_init: mmcsd0 mux setup failed:" | 1466 | pr_warn("%s: MMCSD0 mux setup failed: %d\n", |
1474 | " %d\n", ret); | 1467 | __func__, ret); |
1475 | 1468 | ||
1476 | ret = gpio_request(DA850_MMCSD_CD_PIN, "MMC CD\n"); | 1469 | ret = gpio_request(DA850_MMCSD_CD_PIN, "MMC CD\n"); |
1477 | if (ret) | 1470 | if (ret) |
1478 | pr_warning("da850_evm_init: can not open GPIO %d\n", | 1471 | pr_warn("%s: can not open GPIO %d\n", |
1479 | DA850_MMCSD_CD_PIN); | 1472 | __func__, DA850_MMCSD_CD_PIN); |
1480 | gpio_direction_input(DA850_MMCSD_CD_PIN); | 1473 | gpio_direction_input(DA850_MMCSD_CD_PIN); |
1481 | 1474 | ||
1482 | ret = gpio_request(DA850_MMCSD_WP_PIN, "MMC WP\n"); | 1475 | ret = gpio_request(DA850_MMCSD_WP_PIN, "MMC WP\n"); |
1483 | if (ret) | 1476 | if (ret) |
1484 | pr_warning("da850_evm_init: can not open GPIO %d\n", | 1477 | pr_warn("%s: can not open GPIO %d\n", |
1485 | DA850_MMCSD_WP_PIN); | 1478 | __func__, DA850_MMCSD_WP_PIN); |
1486 | gpio_direction_input(DA850_MMCSD_WP_PIN); | 1479 | gpio_direction_input(DA850_MMCSD_WP_PIN); |
1487 | 1480 | ||
1488 | ret = da8xx_register_mmcsd0(&da850_mmc_config); | 1481 | ret = da8xx_register_mmcsd0(&da850_mmc_config); |
1489 | if (ret) | 1482 | if (ret) |
1490 | pr_warning("da850_evm_init: mmcsd0 registration failed:" | 1483 | pr_warn("%s: MMCSD0 registration failed: %d\n", |
1491 | " %d\n", ret); | 1484 | __func__, ret); |
1492 | 1485 | ||
1493 | ret = da850_wl12xx_init(); | 1486 | ret = da850_wl12xx_init(); |
1494 | if (ret) | 1487 | if (ret) |
1495 | pr_warning("da850_evm_init: wl12xx initialization" | 1488 | pr_warn("%s: WL12xx initialization failed: %d\n", |
1496 | " failed: %d\n", ret); | 1489 | __func__, ret); |
1497 | } | 1490 | } |
1498 | 1491 | ||
1499 | davinci_serial_init(&da850_evm_uart_config); | 1492 | davinci_serial_init(&da850_evm_uart_config); |
@@ -1511,16 +1504,14 @@ static __init void da850_evm_init(void) | |||
1511 | 1504 | ||
1512 | ret = davinci_cfg_reg_list(da850_evm_mcasp_pins); | 1505 | ret = davinci_cfg_reg_list(da850_evm_mcasp_pins); |
1513 | if (ret) | 1506 | if (ret) |
1514 | pr_warning("da850_evm_init: mcasp mux setup failed: %d\n", | 1507 | pr_warn("%s: McASP mux setup failed: %d\n", __func__, ret); |
1515 | ret); | ||
1516 | 1508 | ||
1517 | da850_evm_snd_data.sram_pool = sram_get_gen_pool(); | 1509 | da850_evm_snd_data.sram_pool = sram_get_gen_pool(); |
1518 | da8xx_register_mcasp(0, &da850_evm_snd_data); | 1510 | da8xx_register_mcasp(0, &da850_evm_snd_data); |
1519 | 1511 | ||
1520 | ret = davinci_cfg_reg_list(da850_lcdcntl_pins); | 1512 | ret = davinci_cfg_reg_list(da850_lcdcntl_pins); |
1521 | if (ret) | 1513 | if (ret) |
1522 | pr_warning("da850_evm_init: lcdcntl mux setup failed: %d\n", | 1514 | pr_warn("%s: LCDC mux setup failed: %d\n", __func__, ret); |
1523 | ret); | ||
1524 | 1515 | ||
1525 | ret = da8xx_register_uio_pruss(); | 1516 | ret = da8xx_register_uio_pruss(); |
1526 | if (ret) | 1517 | if (ret) |
@@ -1530,51 +1521,44 @@ static __init void da850_evm_init(void) | |||
1530 | /* Handle board specific muxing for LCD here */ | 1521 | /* Handle board specific muxing for LCD here */ |
1531 | ret = davinci_cfg_reg_list(da850_evm_lcdc_pins); | 1522 | ret = davinci_cfg_reg_list(da850_evm_lcdc_pins); |
1532 | if (ret) | 1523 | if (ret) |
1533 | pr_warning("da850_evm_init: evm specific lcd mux setup " | 1524 | pr_warn("%s: EVM specific LCD mux setup failed: %d\n", |
1534 | "failed: %d\n", ret); | 1525 | __func__, ret); |
1535 | 1526 | ||
1536 | ret = da850_lcd_hw_init(); | 1527 | ret = da850_lcd_hw_init(); |
1537 | if (ret) | 1528 | if (ret) |
1538 | pr_warning("da850_evm_init: lcd initialization failed: %d\n", | 1529 | pr_warn("%s: LCD initialization failed: %d\n", __func__, ret); |
1539 | ret); | ||
1540 | 1530 | ||
1541 | sharp_lk043t1dg01_pdata.panel_power_ctrl = da850_panel_power_ctrl, | 1531 | sharp_lk043t1dg01_pdata.panel_power_ctrl = da850_panel_power_ctrl, |
1542 | ret = da8xx_register_lcdc(&sharp_lk043t1dg01_pdata); | 1532 | ret = da8xx_register_lcdc(&sharp_lk043t1dg01_pdata); |
1543 | if (ret) | 1533 | if (ret) |
1544 | pr_warning("da850_evm_init: lcdc registration failed: %d\n", | 1534 | pr_warn("%s: LCDC registration failed: %d\n", __func__, ret); |
1545 | ret); | ||
1546 | 1535 | ||
1547 | ret = da8xx_register_rtc(); | 1536 | ret = da8xx_register_rtc(); |
1548 | if (ret) | 1537 | if (ret) |
1549 | pr_warning("da850_evm_init: rtc setup failed: %d\n", ret); | 1538 | pr_warn("%s: RTC setup failed: %d\n", __func__, ret); |
1550 | 1539 | ||
1551 | ret = da850_evm_init_cpufreq(); | 1540 | ret = da850_evm_init_cpufreq(); |
1552 | if (ret) | 1541 | if (ret) |
1553 | pr_warning("da850_evm_init: cpufreq registration failed: %d\n", | 1542 | pr_warn("%s: cpufreq registration failed: %d\n", __func__, ret); |
1554 | ret); | ||
1555 | 1543 | ||
1556 | ret = da8xx_register_cpuidle(); | 1544 | ret = da8xx_register_cpuidle(); |
1557 | if (ret) | 1545 | if (ret) |
1558 | pr_warning("da850_evm_init: cpuidle registration failed: %d\n", | 1546 | pr_warn("%s: cpuidle registration failed: %d\n", __func__, ret); |
1559 | ret); | ||
1560 | 1547 | ||
1561 | ret = da850_register_pm(&da850_pm_device); | 1548 | ret = da850_register_pm(&da850_pm_device); |
1562 | if (ret) | 1549 | if (ret) |
1563 | pr_warning("da850_evm_init: suspend registration failed: %d\n", | 1550 | pr_warn("%s: suspend registration failed: %d\n", __func__, ret); |
1564 | ret); | ||
1565 | 1551 | ||
1566 | da850_vpif_init(); | 1552 | da850_vpif_init(); |
1567 | 1553 | ||
1568 | ret = da8xx_register_spi(1, da850evm_spi_info, | 1554 | ret = da8xx_register_spi(1, da850evm_spi_info, |
1569 | ARRAY_SIZE(da850evm_spi_info)); | 1555 | ARRAY_SIZE(da850evm_spi_info)); |
1570 | if (ret) | 1556 | if (ret) |
1571 | pr_warning("da850_evm_init: spi 1 registration failed: %d\n", | 1557 | pr_warn("%s: SPI 1 registration failed: %d\n", __func__, ret); |
1572 | ret); | ||
1573 | 1558 | ||
1574 | ret = da850_register_sata(DA850EVM_SATA_REFCLKPN_RATE); | 1559 | ret = da850_register_sata(DA850EVM_SATA_REFCLKPN_RATE); |
1575 | if (ret) | 1560 | if (ret) |
1576 | pr_warning("da850_evm_init: sata registration failed: %d\n", | 1561 | pr_warn("%s: SATA registration failed: %d\n", __func__, ret); |
1577 | ret); | ||
1578 | 1562 | ||
1579 | da850_evm_setup_mac_addr(); | 1563 | da850_evm_setup_mac_addr(); |
1580 | } | 1564 | } |
diff --git a/arch/arm/mach-davinci/board-omapl138-hawk.c b/arch/arm/mach-davinci/board-omapl138-hawk.c index dc1208e9e664..d5a6bcd38903 100644 --- a/arch/arm/mach-davinci/board-omapl138-hawk.c +++ b/arch/arm/mach-davinci/board-omapl138-hawk.c | |||
@@ -48,8 +48,7 @@ static __init void omapl138_hawk_config_emac(void) | |||
48 | val &= ~BIT(8); | 48 | val &= ~BIT(8); |
49 | ret = davinci_cfg_reg_list(omapl138_hawk_mii_pins); | 49 | ret = davinci_cfg_reg_list(omapl138_hawk_mii_pins); |
50 | if (ret) { | 50 | if (ret) { |
51 | pr_warning("%s: cpgmac/mii mux setup failed: %d\n", | 51 | pr_warn("%s: CPGMAC/MII mux setup failed: %d\n", __func__, ret); |
52 | __func__, ret); | ||
53 | return; | 52 | return; |
54 | } | 53 | } |
55 | 54 | ||
@@ -61,8 +60,7 @@ static __init void omapl138_hawk_config_emac(void) | |||
61 | 60 | ||
62 | ret = da8xx_register_emac(); | 61 | ret = da8xx_register_emac(); |
63 | if (ret) | 62 | if (ret) |
64 | pr_warning("%s: emac registration failed: %d\n", | 63 | pr_warn("%s: EMAC registration failed: %d\n", __func__, ret); |
65 | __func__, ret); | ||
66 | } | 64 | } |
67 | 65 | ||
68 | /* | 66 | /* |
@@ -147,15 +145,14 @@ static __init void omapl138_hawk_mmc_init(void) | |||
147 | 145 | ||
148 | ret = davinci_cfg_reg_list(hawk_mmcsd0_pins); | 146 | ret = davinci_cfg_reg_list(hawk_mmcsd0_pins); |
149 | if (ret) { | 147 | if (ret) { |
150 | pr_warning("%s: MMC/SD0 mux setup failed: %d\n", | 148 | pr_warn("%s: MMC/SD0 mux setup failed: %d\n", __func__, ret); |
151 | __func__, ret); | ||
152 | return; | 149 | return; |
153 | } | 150 | } |
154 | 151 | ||
155 | ret = gpio_request_one(DA850_HAWK_MMCSD_CD_PIN, | 152 | ret = gpio_request_one(DA850_HAWK_MMCSD_CD_PIN, |
156 | GPIOF_DIR_IN, "MMC CD"); | 153 | GPIOF_DIR_IN, "MMC CD"); |
157 | if (ret < 0) { | 154 | if (ret < 0) { |
158 | pr_warning("%s: can not open GPIO %d\n", | 155 | pr_warn("%s: can not open GPIO %d\n", |
159 | __func__, DA850_HAWK_MMCSD_CD_PIN); | 156 | __func__, DA850_HAWK_MMCSD_CD_PIN); |
160 | return; | 157 | return; |
161 | } | 158 | } |
@@ -163,15 +160,14 @@ static __init void omapl138_hawk_mmc_init(void) | |||
163 | ret = gpio_request_one(DA850_HAWK_MMCSD_WP_PIN, | 160 | ret = gpio_request_one(DA850_HAWK_MMCSD_WP_PIN, |
164 | GPIOF_DIR_IN, "MMC WP"); | 161 | GPIOF_DIR_IN, "MMC WP"); |
165 | if (ret < 0) { | 162 | if (ret < 0) { |
166 | pr_warning("%s: can not open GPIO %d\n", | 163 | pr_warn("%s: can not open GPIO %d\n", |
167 | __func__, DA850_HAWK_MMCSD_WP_PIN); | 164 | __func__, DA850_HAWK_MMCSD_WP_PIN); |
168 | goto mmc_setup_wp_fail; | 165 | goto mmc_setup_wp_fail; |
169 | } | 166 | } |
170 | 167 | ||
171 | ret = da8xx_register_mmcsd0(&da850_mmc_config); | 168 | ret = da8xx_register_mmcsd0(&da850_mmc_config); |
172 | if (ret) { | 169 | if (ret) { |
173 | pr_warning("%s: MMC/SD0 registration failed: %d\n", | 170 | pr_warn("%s: MMC/SD0 registration failed: %d\n", __func__, ret); |
174 | __func__, ret); | ||
175 | goto mmc_setup_mmcsd_fail; | 171 | goto mmc_setup_mmcsd_fail; |
176 | } | 172 | } |
177 | 173 | ||
@@ -250,8 +246,7 @@ static __init void omapl138_hawk_usb_init(void) | |||
250 | 246 | ||
251 | ret = davinci_cfg_reg_list(da850_hawk_usb11_pins); | 247 | ret = davinci_cfg_reg_list(da850_hawk_usb11_pins); |
252 | if (ret) { | 248 | if (ret) { |
253 | pr_warning("%s: USB 1.1 PinMux setup failed: %d\n", | 249 | pr_warn("%s: USB 1.1 PinMux setup failed: %d\n", __func__, ret); |
254 | __func__, ret); | ||
255 | return; | 250 | return; |
256 | } | 251 | } |
257 | 252 | ||
@@ -280,8 +275,7 @@ static __init void omapl138_hawk_usb_init(void) | |||
280 | 275 | ||
281 | ret = da8xx_register_usb11(&omapl138_hawk_usb11_pdata); | 276 | ret = da8xx_register_usb11(&omapl138_hawk_usb11_pdata); |
282 | if (ret) { | 277 | if (ret) { |
283 | pr_warning("%s: USB 1.1 registration failed: %d\n", | 278 | pr_warn("%s: USB 1.1 registration failed: %d\n", __func__, ret); |
284 | __func__, ret); | ||
285 | goto usb11_setup_fail; | 279 | goto usb11_setup_fail; |
286 | } | 280 | } |
287 | 281 | ||
@@ -307,8 +301,7 @@ static __init void omapl138_hawk_init(void) | |||
307 | 301 | ||
308 | ret = da850_register_edma(da850_edma_rsv); | 302 | ret = da850_register_edma(da850_edma_rsv); |
309 | if (ret) | 303 | if (ret) |
310 | pr_warning("%s: EDMA registration failed: %d\n", | 304 | pr_warn("%s: EDMA registration failed: %d\n", __func__, ret); |
311 | __func__, ret); | ||
312 | 305 | ||
313 | omapl138_hawk_mmc_init(); | 306 | omapl138_hawk_mmc_init(); |
314 | 307 | ||
@@ -316,9 +309,8 @@ static __init void omapl138_hawk_init(void) | |||
316 | 309 | ||
317 | ret = da8xx_register_watchdog(); | 310 | ret = da8xx_register_watchdog(); |
318 | if (ret) | 311 | if (ret) |
319 | pr_warning("omapl138_hawk_init: " | 312 | pr_warn("%s: watchdog registration failed: %d\n", |
320 | "watchdog registration failed: %d\n", | 313 | __func__, ret); |
321 | ret); | ||
322 | } | 314 | } |
323 | 315 | ||
324 | #ifdef CONFIG_SERIAL_8250_CONSOLE | 316 | #ifdef CONFIG_SERIAL_8250_CONSOLE |
diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c index 24d2f2df11a0..ecd3f2a61bd4 100644 --- a/arch/arm/mach-omap1/board-nokia770.c +++ b/arch/arm/mach-omap1/board-nokia770.c | |||
@@ -7,6 +7,7 @@ | |||
7 | * it under the terms of the GNU General Public License version 2 as | 7 | * it under the terms of the GNU General Public License version 2 as |
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | */ | 9 | */ |
10 | #include <linux/irq.h> | ||
10 | #include <linux/gpio.h> | 11 | #include <linux/gpio.h> |
11 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
12 | #include <linux/init.h> | 13 | #include <linux/init.h> |
@@ -23,6 +24,8 @@ | |||
23 | 24 | ||
24 | #include <linux/platform_data/keypad-omap.h> | 25 | #include <linux/platform_data/keypad-omap.h> |
25 | #include <linux/platform_data/lcd-mipid.h> | 26 | #include <linux/platform_data/lcd-mipid.h> |
27 | #include <linux/platform_data/gpio-omap.h> | ||
28 | #include <linux/platform_data/i2c-cbus-gpio.h> | ||
26 | 29 | ||
27 | #include <asm/mach-types.h> | 30 | #include <asm/mach-types.h> |
28 | #include <asm/mach/arch.h> | 31 | #include <asm/mach/arch.h> |
@@ -212,6 +215,45 @@ static inline void nokia770_mmc_init(void) | |||
212 | } | 215 | } |
213 | #endif | 216 | #endif |
214 | 217 | ||
218 | #if defined(CONFIG_I2C_CBUS_GPIO) || defined(CONFIG_I2C_CBUS_GPIO_MODULE) | ||
219 | static struct i2c_cbus_platform_data nokia770_cbus_data = { | ||
220 | .clk_gpio = OMAP_MPUIO(9), | ||
221 | .dat_gpio = OMAP_MPUIO(10), | ||
222 | .sel_gpio = OMAP_MPUIO(11), | ||
223 | }; | ||
224 | |||
225 | static struct platform_device nokia770_cbus_device = { | ||
226 | .name = "i2c-cbus-gpio", | ||
227 | .id = 2, | ||
228 | .dev = { | ||
229 | .platform_data = &nokia770_cbus_data, | ||
230 | }, | ||
231 | }; | ||
232 | |||
233 | static struct i2c_board_info nokia770_i2c_board_info_2[] __initdata = { | ||
234 | { | ||
235 | I2C_BOARD_INFO("retu-mfd", 0x01), | ||
236 | }, | ||
237 | }; | ||
238 | |||
239 | static void __init nokia770_cbus_init(void) | ||
240 | { | ||
241 | const int retu_irq_gpio = 62; | ||
242 | |||
243 | if (gpio_request_one(retu_irq_gpio, GPIOF_IN, "Retu IRQ")) | ||
244 | return; | ||
245 | irq_set_irq_type(gpio_to_irq(retu_irq_gpio), IRQ_TYPE_EDGE_RISING); | ||
246 | nokia770_i2c_board_info_2[0].irq = gpio_to_irq(retu_irq_gpio); | ||
247 | i2c_register_board_info(2, nokia770_i2c_board_info_2, | ||
248 | ARRAY_SIZE(nokia770_i2c_board_info_2)); | ||
249 | platform_device_register(&nokia770_cbus_device); | ||
250 | } | ||
251 | #else /* CONFIG_I2C_CBUS_GPIO */ | ||
252 | static void __init nokia770_cbus_init(void) | ||
253 | { | ||
254 | } | ||
255 | #endif /* CONFIG_I2C_CBUS_GPIO */ | ||
256 | |||
215 | static void __init omap_nokia770_init(void) | 257 | static void __init omap_nokia770_init(void) |
216 | { | 258 | { |
217 | /* On Nokia 770, the SleepX signal is masked with an | 259 | /* On Nokia 770, the SleepX signal is masked with an |
@@ -233,6 +275,7 @@ static void __init omap_nokia770_init(void) | |||
233 | mipid_dev_init(); | 275 | mipid_dev_init(); |
234 | omap1_usb_init(&nokia770_usb_config); | 276 | omap1_usb_init(&nokia770_usb_config); |
235 | nokia770_mmc_init(); | 277 | nokia770_mmc_init(); |
278 | nokia770_cbus_init(); | ||
236 | } | 279 | } |
237 | 280 | ||
238 | MACHINE_START(NOKIA770, "Nokia 770") | 281 | MACHINE_START(NOKIA770, "Nokia 770") |
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 41b581fd0213..d4e4f9590a95 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
@@ -165,12 +165,6 @@ config MACH_OMAP_H4 | |||
165 | select OMAP_DEBUG_DEVICES | 165 | select OMAP_DEBUG_DEVICES |
166 | select OMAP_PACKAGE_ZAF | 166 | select OMAP_PACKAGE_ZAF |
167 | 167 | ||
168 | config MACH_OMAP_APOLLON | ||
169 | bool "OMAP 2420 Apollon board" | ||
170 | depends on SOC_OMAP2420 | ||
171 | default y | ||
172 | select OMAP_PACKAGE_ZAC | ||
173 | |||
174 | config MACH_OMAP_2430SDP | 168 | config MACH_OMAP_2430SDP |
175 | bool "OMAP 2430 SDP board" | 169 | bool "OMAP 2430 SDP board" |
176 | depends on SOC_OMAP2430 | 170 | depends on SOC_OMAP2430 |
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index 947cafe65aef..0c66759a1174 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile | |||
@@ -220,7 +220,6 @@ endif | |||
220 | obj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o | 220 | obj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o |
221 | obj-$(CONFIG_MACH_OMAP_H4) += board-h4.o | 221 | obj-$(CONFIG_MACH_OMAP_H4) += board-h4.o |
222 | obj-$(CONFIG_MACH_OMAP_2430SDP) += board-2430sdp.o | 222 | obj-$(CONFIG_MACH_OMAP_2430SDP) += board-2430sdp.o |
223 | obj-$(CONFIG_MACH_OMAP_APOLLON) += board-apollon.o | ||
224 | obj-$(CONFIG_MACH_OMAP3_BEAGLE) += board-omap3beagle.o | 223 | obj-$(CONFIG_MACH_OMAP3_BEAGLE) += board-omap3beagle.o |
225 | obj-$(CONFIG_MACH_DEVKIT8000) += board-devkit8000.o | 224 | obj-$(CONFIG_MACH_DEVKIT8000) += board-devkit8000.o |
226 | obj-$(CONFIG_MACH_OMAP_LDP) += board-ldp.o | 225 | obj-$(CONFIG_MACH_OMAP_LDP) += board-ldp.o |
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c index bb73afc9ac17..e7ef3111a0f2 100644 --- a/arch/arm/mach-omap2/board-3430sdp.c +++ b/arch/arm/mach-omap2/board-3430sdp.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/gpio.h> | 25 | #include <linux/gpio.h> |
26 | #include <linux/mmc/host.h> | 26 | #include <linux/mmc/host.h> |
27 | #include <linux/platform_data/spi-omap2-mcspi.h> | 27 | #include <linux/platform_data/spi-omap2-mcspi.h> |
28 | #include <linux/platform_data/omap-twl4030.h> | ||
28 | 29 | ||
29 | #include <asm/mach-types.h> | 30 | #include <asm/mach-types.h> |
30 | #include <asm/mach/arch.h> | 31 | #include <asm/mach/arch.h> |
@@ -209,6 +210,19 @@ static struct omap2_hsmmc_info mmc[] = { | |||
209 | {} /* Terminator */ | 210 | {} /* Terminator */ |
210 | }; | 211 | }; |
211 | 212 | ||
213 | static struct omap_tw4030_pdata omap_twl4030_audio_data = { | ||
214 | .voice_connected = true, | ||
215 | .custom_routing = true, | ||
216 | |||
217 | .has_hs = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, | ||
218 | .has_hf = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, | ||
219 | |||
220 | .has_mainmic = true, | ||
221 | .has_submic = true, | ||
222 | .has_hsmic = true, | ||
223 | .has_linein = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, | ||
224 | }; | ||
225 | |||
212 | static int sdp3430_twl_gpio_setup(struct device *dev, | 226 | static int sdp3430_twl_gpio_setup(struct device *dev, |
213 | unsigned gpio, unsigned ngpio) | 227 | unsigned gpio, unsigned ngpio) |
214 | { | 228 | { |
@@ -225,6 +239,9 @@ static int sdp3430_twl_gpio_setup(struct device *dev, | |||
225 | /* gpio + 15 is "sub_lcd_nRST" (output) */ | 239 | /* gpio + 15 is "sub_lcd_nRST" (output) */ |
226 | gpio_request_one(gpio + 15, GPIOF_OUT_INIT_LOW, "sub_lcd_nRST"); | 240 | gpio_request_one(gpio + 15, GPIOF_OUT_INIT_LOW, "sub_lcd_nRST"); |
227 | 241 | ||
242 | omap_twl4030_audio_data.jack_detect = gpio + 2; | ||
243 | omap_twl4030_audio_init("SDP3430", &omap_twl4030_audio_data); | ||
244 | |||
228 | return 0; | 245 | return 0; |
229 | } | 246 | } |
230 | 247 | ||
@@ -382,6 +399,9 @@ static int __init omap3430_i2c_init(void) | |||
382 | sdp3430_twldata.vpll2->constraints.apply_uV = true; | 399 | sdp3430_twldata.vpll2->constraints.apply_uV = true; |
383 | sdp3430_twldata.vpll2->constraints.name = "VDVI"; | 400 | sdp3430_twldata.vpll2->constraints.name = "VDVI"; |
384 | 401 | ||
402 | sdp3430_twldata.audio->codec->hs_extmute = 1; | ||
403 | sdp3430_twldata.audio->codec->hs_extmute_gpio = -EINVAL; | ||
404 | |||
385 | omap3_pmic_init("twl4030", &sdp3430_twldata); | 405 | omap3_pmic_init("twl4030", &sdp3430_twldata); |
386 | 406 | ||
387 | /* i2c2 on camera connector (for sensor control) and optional isp1301 */ | 407 | /* i2c2 on camera connector (for sensor control) and optional isp1301 */ |
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index 1cc6696594fd..918b73bd0215 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c | |||
@@ -24,8 +24,10 @@ | |||
24 | #include <linux/gpio_keys.h> | 24 | #include <linux/gpio_keys.h> |
25 | #include <linux/regulator/machine.h> | 25 | #include <linux/regulator/machine.h> |
26 | #include <linux/regulator/fixed.h> | 26 | #include <linux/regulator/fixed.h> |
27 | #include <linux/pwm.h> | ||
27 | #include <linux/leds.h> | 28 | #include <linux/leds.h> |
28 | #include <linux/leds_pwm.h> | 29 | #include <linux/leds_pwm.h> |
30 | #include <linux/pwm_backlight.h> | ||
29 | #include <linux/platform_data/omap4-keypad.h> | 31 | #include <linux/platform_data/omap4-keypad.h> |
30 | #include <linux/usb/musb.h> | 32 | #include <linux/usb/musb.h> |
31 | 33 | ||
@@ -256,10 +258,20 @@ static struct gpio_led_platform_data sdp4430_led_data = { | |||
256 | .num_leds = ARRAY_SIZE(sdp4430_gpio_leds), | 258 | .num_leds = ARRAY_SIZE(sdp4430_gpio_leds), |
257 | }; | 259 | }; |
258 | 260 | ||
261 | static struct pwm_lookup sdp4430_pwm_lookup[] = { | ||
262 | PWM_LOOKUP("twl-pwm", 0, "leds_pwm", "omap4::keypad"), | ||
263 | PWM_LOOKUP("twl-pwm", 1, "pwm-backlight", NULL), | ||
264 | PWM_LOOKUP("twl-pwmled", 0, "leds_pwm", "omap4:green:chrg"), | ||
265 | }; | ||
266 | |||
259 | static struct led_pwm sdp4430_pwm_leds[] = { | 267 | static struct led_pwm sdp4430_pwm_leds[] = { |
260 | { | 268 | { |
269 | .name = "omap4::keypad", | ||
270 | .max_brightness = 127, | ||
271 | .pwm_period_ns = 7812500, | ||
272 | }, | ||
273 | { | ||
261 | .name = "omap4:green:chrg", | 274 | .name = "omap4:green:chrg", |
262 | .pwm_id = 1, | ||
263 | .max_brightness = 255, | 275 | .max_brightness = 255, |
264 | .pwm_period_ns = 7812500, | 276 | .pwm_period_ns = 7812500, |
265 | }, | 277 | }, |
@@ -278,6 +290,20 @@ static struct platform_device sdp4430_leds_pwm = { | |||
278 | }, | 290 | }, |
279 | }; | 291 | }; |
280 | 292 | ||
293 | static struct platform_pwm_backlight_data sdp4430_backlight_data = { | ||
294 | .max_brightness = 127, | ||
295 | .dft_brightness = 127, | ||
296 | .pwm_period_ns = 7812500, | ||
297 | }; | ||
298 | |||
299 | static struct platform_device sdp4430_backlight_pwm = { | ||
300 | .name = "pwm-backlight", | ||
301 | .id = -1, | ||
302 | .dev = { | ||
303 | .platform_data = &sdp4430_backlight_data, | ||
304 | }, | ||
305 | }; | ||
306 | |||
281 | static int omap_prox_activate(struct device *dev) | 307 | static int omap_prox_activate(struct device *dev) |
282 | { | 308 | { |
283 | gpio_set_value(OMAP4_SFH7741_ENABLE_GPIO , 1); | 309 | gpio_set_value(OMAP4_SFH7741_ENABLE_GPIO , 1); |
@@ -412,6 +438,7 @@ static struct platform_device *sdp4430_devices[] __initdata = { | |||
412 | &sdp4430_gpio_keys_device, | 438 | &sdp4430_gpio_keys_device, |
413 | &sdp4430_leds_gpio, | 439 | &sdp4430_leds_gpio, |
414 | &sdp4430_leds_pwm, | 440 | &sdp4430_leds_pwm, |
441 | &sdp4430_backlight_pwm, | ||
415 | &sdp4430_vbat, | 442 | &sdp4430_vbat, |
416 | &sdp4430_dmic_codec, | 443 | &sdp4430_dmic_codec, |
417 | &sdp4430_abe_audio, | 444 | &sdp4430_abe_audio, |
@@ -707,6 +734,7 @@ static void __init omap_4430sdp_init(void) | |||
707 | ARRAY_SIZE(sdp4430_spi_board_info)); | 734 | ARRAY_SIZE(sdp4430_spi_board_info)); |
708 | } | 735 | } |
709 | 736 | ||
737 | pwm_add_table(sdp4430_pwm_lookup, ARRAY_SIZE(sdp4430_pwm_lookup)); | ||
710 | status = omap4_keyboard_init(&sdp4430_keypad_data, &keypad_data); | 738 | status = omap4_keyboard_init(&sdp4430_keypad_data, &keypad_data); |
711 | if (status) | 739 | if (status) |
712 | pr_err("Keypad initialization failed: %d\n", status); | 740 | pr_err("Keypad initialization failed: %d\n", status); |
diff --git a/arch/arm/mach-omap2/board-am3517crane.c b/arch/arm/mach-omap2/board-am3517crane.c index 51b96a1206d1..82805de80056 100644 --- a/arch/arm/mach-omap2/board-am3517crane.c +++ b/arch/arm/mach-omap2/board-am3517crane.c | |||
@@ -20,12 +20,18 @@ | |||
20 | #include <linux/kernel.h> | 20 | #include <linux/kernel.h> |
21 | #include <linux/init.h> | 21 | #include <linux/init.h> |
22 | #include <linux/gpio.h> | 22 | #include <linux/gpio.h> |
23 | #include <linux/mfd/tps65910.h> | ||
24 | #include <linux/mtd/mtd.h> | ||
25 | #include <linux/mtd/nand.h> | ||
26 | #include <linux/mtd/partitions.h> | ||
23 | 27 | ||
24 | #include <asm/mach-types.h> | 28 | #include <asm/mach-types.h> |
25 | #include <asm/mach/arch.h> | 29 | #include <asm/mach/arch.h> |
26 | #include <asm/mach/map.h> | 30 | #include <asm/mach/map.h> |
27 | 31 | ||
28 | #include "common.h" | 32 | #include "common.h" |
33 | #include "common-board-devices.h" | ||
34 | #include "board-flash.h" | ||
29 | 35 | ||
30 | #include "am35xx-emac.h" | 36 | #include "am35xx-emac.h" |
31 | #include "mux.h" | 37 | #include "mux.h" |
@@ -36,6 +42,7 @@ | |||
36 | 42 | ||
37 | #ifdef CONFIG_OMAP_MUX | 43 | #ifdef CONFIG_OMAP_MUX |
38 | static struct omap_board_mux board_mux[] __initdata = { | 44 | static struct omap_board_mux board_mux[] __initdata = { |
45 | OMAP3_MUX(SYS_NIRQ, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP), | ||
39 | { .reg_offset = OMAP_MUX_TERMINATOR }, | 46 | { .reg_offset = OMAP_MUX_TERMINATOR }, |
40 | }; | 47 | }; |
41 | #endif | 48 | #endif |
@@ -51,6 +58,54 @@ static struct usbhs_omap_board_data usbhs_bdata __initdata = { | |||
51 | .reset_gpio_port[2] = -EINVAL | 58 | .reset_gpio_port[2] = -EINVAL |
52 | }; | 59 | }; |
53 | 60 | ||
61 | static struct mtd_partition crane_nand_partitions[] = { | ||
62 | { | ||
63 | .name = "X-Loader", | ||
64 | .offset = 0, | ||
65 | .size = 4 * NAND_BLOCK_SIZE, | ||
66 | .mask_flags = MTD_WRITEABLE, | ||
67 | }, | ||
68 | { | ||
69 | .name = "U-Boot", | ||
70 | .offset = MTDPART_OFS_APPEND, | ||
71 | .size = 14 * NAND_BLOCK_SIZE, | ||
72 | .mask_flags = MTD_WRITEABLE, | ||
73 | }, | ||
74 | { | ||
75 | .name = "U-Boot Env", | ||
76 | .offset = MTDPART_OFS_APPEND, | ||
77 | .size = 2 * NAND_BLOCK_SIZE, | ||
78 | }, | ||
79 | { | ||
80 | .name = "Kernel", | ||
81 | .offset = MTDPART_OFS_APPEND, | ||
82 | .size = 40 * NAND_BLOCK_SIZE, | ||
83 | }, | ||
84 | { | ||
85 | .name = "File System", | ||
86 | .offset = MTDPART_OFS_APPEND, | ||
87 | .size = MTDPART_SIZ_FULL, | ||
88 | }, | ||
89 | }; | ||
90 | |||
91 | static struct tps65910_board tps65910_pdata = { | ||
92 | .irq = 7 + OMAP_INTC_START, | ||
93 | .en_ck32k_xtal = true, | ||
94 | }; | ||
95 | |||
96 | static struct i2c_board_info __initdata tps65910_board_info[] = { | ||
97 | { | ||
98 | I2C_BOARD_INFO("tps65910", 0x2d), | ||
99 | .platform_data = &tps65910_pdata, | ||
100 | }, | ||
101 | }; | ||
102 | |||
103 | static void __init am3517_crane_i2c_init(void) | ||
104 | { | ||
105 | omap_register_i2c_bus(1, 2600, tps65910_board_info, | ||
106 | ARRAY_SIZE(tps65910_board_info)); | ||
107 | } | ||
108 | |||
54 | static void __init am3517_crane_init(void) | 109 | static void __init am3517_crane_init(void) |
55 | { | 110 | { |
56 | int ret; | 111 | int ret; |
@@ -58,6 +113,10 @@ static void __init am3517_crane_init(void) | |||
58 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); | 113 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); |
59 | omap_serial_init(); | 114 | omap_serial_init(); |
60 | omap_sdrc_init(NULL, NULL); | 115 | omap_sdrc_init(NULL, NULL); |
116 | board_nand_init(crane_nand_partitions, | ||
117 | ARRAY_SIZE(crane_nand_partitions), 0, | ||
118 | NAND_BUSWIDTH_16, NULL); | ||
119 | am3517_crane_i2c_init(); | ||
61 | 120 | ||
62 | /* Configure GPIO for EHCI port */ | 121 | /* Configure GPIO for EHCI port */ |
63 | if (omap_mux_init_gpio(GPIO_USB_NRESET, OMAP_PIN_OUTPUT)) { | 122 | if (omap_mux_init_gpio(GPIO_USB_NRESET, OMAP_PIN_OUTPUT)) { |
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c deleted file mode 100644 index 5d0a61f54165..000000000000 --- a/arch/arm/mach-omap2/board-apollon.c +++ /dev/null | |||
@@ -1,342 +0,0 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/mach-omap2/board-apollon.c | ||
3 | * | ||
4 | * Copyright (C) 2005,2006 Samsung Electronics | ||
5 | * Author: Kyungmin Park <kyungmin.park@samsung.com> | ||
6 | * | ||
7 | * Modified from mach-omap/omap2/board-h4.c | ||
8 | * | ||
9 | * Code for apollon OMAP2 board. Should work on many OMAP2 systems where | ||
10 | * the bootloader passes the board-specific data to the kernel. | ||
11 | * Do not put any board specific code to this file; create a new machine | ||
12 | * type if you need custom low-level initializations. | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License version 2 as | ||
16 | * published by the Free Software Foundation. | ||
17 | */ | ||
18 | |||
19 | #include <linux/kernel.h> | ||
20 | #include <linux/init.h> | ||
21 | #include <linux/platform_device.h> | ||
22 | #include <linux/mtd/mtd.h> | ||
23 | #include <linux/mtd/partitions.h> | ||
24 | #include <linux/mtd/onenand.h> | ||
25 | #include <linux/delay.h> | ||
26 | #include <linux/leds.h> | ||
27 | #include <linux/err.h> | ||
28 | #include <linux/clk.h> | ||
29 | #include <linux/smc91x.h> | ||
30 | #include <linux/gpio.h> | ||
31 | #include <linux/platform_data/leds-omap.h> | ||
32 | |||
33 | #include <asm/mach-types.h> | ||
34 | #include <asm/mach/arch.h> | ||
35 | #include <asm/mach/flash.h> | ||
36 | |||
37 | #include "common.h" | ||
38 | #include "gpmc.h" | ||
39 | |||
40 | #include <video/omapdss.h> | ||
41 | #include <video/omap-panel-generic-dpi.h> | ||
42 | |||
43 | #include "mux.h" | ||
44 | #include "control.h" | ||
45 | |||
46 | /* LED & Switch macros */ | ||
47 | #define LED0_GPIO13 13 | ||
48 | #define LED1_GPIO14 14 | ||
49 | #define LED2_GPIO15 15 | ||
50 | #define SW_ENTER_GPIO16 16 | ||
51 | #define SW_UP_GPIO17 17 | ||
52 | #define SW_DOWN_GPIO58 58 | ||
53 | |||
54 | #define APOLLON_FLASH_CS 0 | ||
55 | #define APOLLON_ETH_CS 1 | ||
56 | #define APOLLON_ETHR_GPIO_IRQ 74 | ||
57 | |||
58 | static struct mtd_partition apollon_partitions[] = { | ||
59 | { | ||
60 | .name = "X-Loader + U-Boot", | ||
61 | .offset = 0, | ||
62 | .size = SZ_128K, | ||
63 | .mask_flags = MTD_WRITEABLE, | ||
64 | }, | ||
65 | { | ||
66 | .name = "params", | ||
67 | .offset = MTDPART_OFS_APPEND, | ||
68 | .size = SZ_128K, | ||
69 | }, | ||
70 | { | ||
71 | .name = "kernel", | ||
72 | .offset = MTDPART_OFS_APPEND, | ||
73 | .size = SZ_2M, | ||
74 | }, | ||
75 | { | ||
76 | .name = "rootfs", | ||
77 | .offset = MTDPART_OFS_APPEND, | ||
78 | .size = SZ_16M, | ||
79 | }, | ||
80 | { | ||
81 | .name = "filesystem00", | ||
82 | .offset = MTDPART_OFS_APPEND, | ||
83 | .size = SZ_32M, | ||
84 | }, | ||
85 | { | ||
86 | .name = "filesystem01", | ||
87 | .offset = MTDPART_OFS_APPEND, | ||
88 | .size = MTDPART_SIZ_FULL, | ||
89 | }, | ||
90 | }; | ||
91 | |||
92 | static struct onenand_platform_data apollon_flash_data = { | ||
93 | .parts = apollon_partitions, | ||
94 | .nr_parts = ARRAY_SIZE(apollon_partitions), | ||
95 | }; | ||
96 | |||
97 | static struct resource apollon_flash_resource[] = { | ||
98 | [0] = { | ||
99 | .flags = IORESOURCE_MEM, | ||
100 | }, | ||
101 | }; | ||
102 | |||
103 | static struct platform_device apollon_onenand_device = { | ||
104 | .name = "onenand-flash", | ||
105 | .id = -1, | ||
106 | .dev = { | ||
107 | .platform_data = &apollon_flash_data, | ||
108 | }, | ||
109 | .num_resources = ARRAY_SIZE(apollon_flash_resource), | ||
110 | .resource = apollon_flash_resource, | ||
111 | }; | ||
112 | |||
113 | static void __init apollon_flash_init(void) | ||
114 | { | ||
115 | unsigned long base; | ||
116 | |||
117 | if (gpmc_cs_request(APOLLON_FLASH_CS, SZ_128K, &base) < 0) { | ||
118 | printk(KERN_ERR "Cannot request OneNAND GPMC CS\n"); | ||
119 | return; | ||
120 | } | ||
121 | apollon_flash_resource[0].start = base; | ||
122 | apollon_flash_resource[0].end = base + SZ_128K - 1; | ||
123 | } | ||
124 | |||
125 | static struct smc91x_platdata appolon_smc91x_info = { | ||
126 | .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT, | ||
127 | .leda = RPC_LED_100_10, | ||
128 | .ledb = RPC_LED_TX_RX, | ||
129 | }; | ||
130 | |||
131 | static struct resource apollon_smc91x_resources[] = { | ||
132 | [0] = { | ||
133 | .flags = IORESOURCE_MEM, | ||
134 | }, | ||
135 | [1] = { | ||
136 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, | ||
137 | }, | ||
138 | }; | ||
139 | |||
140 | static struct platform_device apollon_smc91x_device = { | ||
141 | .name = "smc91x", | ||
142 | .id = -1, | ||
143 | .dev = { | ||
144 | .platform_data = &appolon_smc91x_info, | ||
145 | }, | ||
146 | .num_resources = ARRAY_SIZE(apollon_smc91x_resources), | ||
147 | .resource = apollon_smc91x_resources, | ||
148 | }; | ||
149 | |||
150 | static struct omap_led_config apollon_led_config[] = { | ||
151 | { | ||
152 | .cdev = { | ||
153 | .name = "apollon:led0", | ||
154 | }, | ||
155 | .gpio = LED0_GPIO13, | ||
156 | }, | ||
157 | { | ||
158 | .cdev = { | ||
159 | .name = "apollon:led1", | ||
160 | }, | ||
161 | .gpio = LED1_GPIO14, | ||
162 | }, | ||
163 | { | ||
164 | .cdev = { | ||
165 | .name = "apollon:led2", | ||
166 | }, | ||
167 | .gpio = LED2_GPIO15, | ||
168 | }, | ||
169 | }; | ||
170 | |||
171 | static struct omap_led_platform_data apollon_led_data = { | ||
172 | .nr_leds = ARRAY_SIZE(apollon_led_config), | ||
173 | .leds = apollon_led_config, | ||
174 | }; | ||
175 | |||
176 | static struct platform_device apollon_led_device = { | ||
177 | .name = "omap-led", | ||
178 | .id = -1, | ||
179 | .dev = { | ||
180 | .platform_data = &apollon_led_data, | ||
181 | }, | ||
182 | }; | ||
183 | |||
184 | static struct platform_device *apollon_devices[] __initdata = { | ||
185 | &apollon_onenand_device, | ||
186 | &apollon_smc91x_device, | ||
187 | &apollon_led_device, | ||
188 | }; | ||
189 | |||
190 | static inline void __init apollon_init_smc91x(void) | ||
191 | { | ||
192 | unsigned long base; | ||
193 | |||
194 | unsigned int rate; | ||
195 | struct clk *gpmc_fck; | ||
196 | int eth_cs; | ||
197 | int err; | ||
198 | |||
199 | gpmc_fck = clk_get(NULL, "gpmc_fck"); /* Always on ENABLE_ON_INIT */ | ||
200 | if (IS_ERR(gpmc_fck)) { | ||
201 | WARN_ON(1); | ||
202 | return; | ||
203 | } | ||
204 | |||
205 | clk_prepare_enable(gpmc_fck); | ||
206 | rate = clk_get_rate(gpmc_fck); | ||
207 | |||
208 | eth_cs = APOLLON_ETH_CS; | ||
209 | |||
210 | /* Make sure CS1 timings are correct */ | ||
211 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG1, 0x00011200); | ||
212 | |||
213 | if (rate >= 160000000) { | ||
214 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG2, 0x001f1f01); | ||
215 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG3, 0x00080803); | ||
216 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG4, 0x1c0b1c0a); | ||
217 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG5, 0x041f1F1F); | ||
218 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG6, 0x000004C4); | ||
219 | } else if (rate >= 130000000) { | ||
220 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG2, 0x001f1f00); | ||
221 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG3, 0x00080802); | ||
222 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG4, 0x1C091C09); | ||
223 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG5, 0x041f1F1F); | ||
224 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG6, 0x000004C4); | ||
225 | } else {/* rate = 100000000 */ | ||
226 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG2, 0x001f1f00); | ||
227 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG3, 0x00080802); | ||
228 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG4, 0x1C091C09); | ||
229 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG5, 0x031A1F1F); | ||
230 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG6, 0x000003C2); | ||
231 | } | ||
232 | |||
233 | if (gpmc_cs_request(APOLLON_ETH_CS, SZ_16M, &base) < 0) { | ||
234 | printk(KERN_ERR "Failed to request GPMC CS for smc91x\n"); | ||
235 | goto out; | ||
236 | } | ||
237 | apollon_smc91x_resources[0].start = base + 0x300; | ||
238 | apollon_smc91x_resources[0].end = base + 0x30f; | ||
239 | udelay(100); | ||
240 | |||
241 | omap_mux_init_gpio(APOLLON_ETHR_GPIO_IRQ, 0); | ||
242 | err = gpio_request_one(APOLLON_ETHR_GPIO_IRQ, GPIOF_IN, "SMC91x irq"); | ||
243 | if (err) { | ||
244 | printk(KERN_ERR "Failed to request GPIO%d for smc91x IRQ\n", | ||
245 | APOLLON_ETHR_GPIO_IRQ); | ||
246 | gpmc_cs_free(APOLLON_ETH_CS); | ||
247 | } | ||
248 | out: | ||
249 | clk_disable_unprepare(gpmc_fck); | ||
250 | clk_put(gpmc_fck); | ||
251 | } | ||
252 | |||
253 | static struct panel_generic_dpi_data apollon_panel_data = { | ||
254 | .name = "apollon", | ||
255 | }; | ||
256 | |||
257 | static struct omap_dss_device apollon_lcd_device = { | ||
258 | .name = "lcd", | ||
259 | .driver_name = "generic_dpi_panel", | ||
260 | .type = OMAP_DISPLAY_TYPE_DPI, | ||
261 | .phy.dpi.data_lines = 18, | ||
262 | .data = &apollon_panel_data, | ||
263 | }; | ||
264 | |||
265 | static struct omap_dss_device *apollon_dss_devices[] = { | ||
266 | &apollon_lcd_device, | ||
267 | }; | ||
268 | |||
269 | static struct omap_dss_board_info apollon_dss_data = { | ||
270 | .num_devices = ARRAY_SIZE(apollon_dss_devices), | ||
271 | .devices = apollon_dss_devices, | ||
272 | .default_device = &apollon_lcd_device, | ||
273 | }; | ||
274 | |||
275 | static struct gpio apollon_gpio_leds[] __initdata = { | ||
276 | { LED0_GPIO13, GPIOF_OUT_INIT_LOW, "LED0" }, /* LED0 - AA10 */ | ||
277 | { LED1_GPIO14, GPIOF_OUT_INIT_LOW, "LED1" }, /* LED1 - AA6 */ | ||
278 | { LED2_GPIO15, GPIOF_OUT_INIT_LOW, "LED2" }, /* LED2 - AA4 */ | ||
279 | }; | ||
280 | |||
281 | static void __init apollon_led_init(void) | ||
282 | { | ||
283 | omap_mux_init_signal("vlynq_clk.gpio_13", 0); | ||
284 | omap_mux_init_signal("vlynq_rx1.gpio_14", 0); | ||
285 | omap_mux_init_signal("vlynq_rx0.gpio_15", 0); | ||
286 | |||
287 | gpio_request_array(apollon_gpio_leds, ARRAY_SIZE(apollon_gpio_leds)); | ||
288 | } | ||
289 | |||
290 | #ifdef CONFIG_OMAP_MUX | ||
291 | static struct omap_board_mux board_mux[] __initdata = { | ||
292 | { .reg_offset = OMAP_MUX_TERMINATOR }, | ||
293 | }; | ||
294 | #endif | ||
295 | |||
296 | static void __init omap_apollon_init(void) | ||
297 | { | ||
298 | u32 v; | ||
299 | |||
300 | omap2420_mux_init(board_mux, OMAP_PACKAGE_ZAC); | ||
301 | |||
302 | apollon_init_smc91x(); | ||
303 | apollon_led_init(); | ||
304 | apollon_flash_init(); | ||
305 | |||
306 | /* REVISIT: where's the correct place */ | ||
307 | omap_mux_init_signal("sys_nirq", OMAP_PULL_ENA | OMAP_PULL_UP); | ||
308 | |||
309 | /* LCD PWR_EN */ | ||
310 | omap_mux_init_signal("mcbsp2_dr.gpio_11", OMAP_PULL_ENA | OMAP_PULL_UP); | ||
311 | |||
312 | /* Use Internal loop-back in MMC/SDIO Module Input Clock selection */ | ||
313 | v = omap_ctrl_readl(OMAP2_CONTROL_DEVCONF0); | ||
314 | v |= (1 << 24); | ||
315 | omap_ctrl_writel(v, OMAP2_CONTROL_DEVCONF0); | ||
316 | |||
317 | /* | ||
318 | * Make sure the serial ports are muxed on at this point. | ||
319 | * You have to mux them off in device drivers later on | ||
320 | * if not needed. | ||
321 | */ | ||
322 | apollon_smc91x_resources[1].start = gpio_to_irq(APOLLON_ETHR_GPIO_IRQ); | ||
323 | apollon_smc91x_resources[1].end = gpio_to_irq(APOLLON_ETHR_GPIO_IRQ); | ||
324 | platform_add_devices(apollon_devices, ARRAY_SIZE(apollon_devices)); | ||
325 | omap_serial_init(); | ||
326 | omap_sdrc_init(NULL, NULL); | ||
327 | omap_display_init(&apollon_dss_data); | ||
328 | } | ||
329 | |||
330 | MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon") | ||
331 | /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */ | ||
332 | .atag_offset = 0x100, | ||
333 | .reserve = omap_reserve, | ||
334 | .map_io = omap242x_map_io, | ||
335 | .init_early = omap2420_init_early, | ||
336 | .init_irq = omap2_init_irq, | ||
337 | .handle_irq = omap2_intc_handle_irq, | ||
338 | .init_machine = omap_apollon_init, | ||
339 | .init_late = omap2420_init_late, | ||
340 | .timer = &omap2_timer, | ||
341 | .restart = omap2xxx_restart, | ||
342 | MACHINE_END | ||
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c index b3102c2f4a3c..eec635e15edd 100644 --- a/arch/arm/mach-omap2/board-cm-t35.c +++ b/arch/arm/mach-omap2/board-cm-t35.c | |||
@@ -722,7 +722,7 @@ static void __init cm_t3x_common_init(void) | |||
722 | cm_t35_init_ethernet(); | 722 | cm_t35_init_ethernet(); |
723 | cm_t35_init_led(); | 723 | cm_t35_init_led(); |
724 | cm_t35_init_display(); | 724 | cm_t35_init_display(); |
725 | omap_twl4030_audio_init("cm-t3x"); | 725 | omap_twl4030_audio_init("cm-t3x", NULL); |
726 | 726 | ||
727 | usb_musb_init(NULL); | 727 | usb_musb_init(NULL); |
728 | cm_t35_init_usbh(); | 728 | cm_t35_init_usbh(); |
diff --git a/arch/arm/mach-omap2/board-cm-t3517.c b/arch/arm/mach-omap2/board-cm-t3517.c index ebbc2adb499e..792d6841790a 100644 --- a/arch/arm/mach-omap2/board-cm-t3517.c +++ b/arch/arm/mach-omap2/board-cm-t3517.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <linux/mtd/mtd.h> | 32 | #include <linux/mtd/mtd.h> |
33 | #include <linux/mtd/nand.h> | 33 | #include <linux/mtd/nand.h> |
34 | #include <linux/mtd/partitions.h> | 34 | #include <linux/mtd/partitions.h> |
35 | #include <linux/mmc/host.h> | ||
35 | #include <linux/can/platform/ti_hecc.h> | 36 | #include <linux/can/platform/ti_hecc.h> |
36 | 37 | ||
37 | #include <asm/mach-types.h> | 38 | #include <asm/mach-types.h> |
@@ -46,6 +47,7 @@ | |||
46 | 47 | ||
47 | #include "mux.h" | 48 | #include "mux.h" |
48 | #include "control.h" | 49 | #include "control.h" |
50 | #include "hsmmc.h" | ||
49 | #include "common-board-devices.h" | 51 | #include "common-board-devices.h" |
50 | #include "am35xx-emac.h" | 52 | #include "am35xx-emac.h" |
51 | #include "gpmc-nand.h" | 53 | #include "gpmc-nand.h" |
@@ -121,6 +123,26 @@ static void cm_t3517_init_hecc(void) | |||
121 | static inline void cm_t3517_init_hecc(void) {} | 123 | static inline void cm_t3517_init_hecc(void) {} |
122 | #endif | 124 | #endif |
123 | 125 | ||
126 | #if defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE) | ||
127 | static struct omap2_hsmmc_info cm_t3517_mmc[] = { | ||
128 | { | ||
129 | .mmc = 1, | ||
130 | .caps = MMC_CAP_4_BIT_DATA, | ||
131 | .gpio_cd = 144, | ||
132 | .gpio_wp = 59, | ||
133 | }, | ||
134 | { | ||
135 | .mmc = 2, | ||
136 | .caps = MMC_CAP_4_BIT_DATA, | ||
137 | .gpio_cd = -EINVAL, | ||
138 | .gpio_wp = -EINVAL, | ||
139 | }, | ||
140 | {} /* Terminator */ | ||
141 | }; | ||
142 | #else | ||
143 | #define cm_t3517_mmc NULL | ||
144 | #endif | ||
145 | |||
124 | #if defined(CONFIG_RTC_DRV_V3020) || defined(CONFIG_RTC_DRV_V3020_MODULE) | 146 | #if defined(CONFIG_RTC_DRV_V3020) || defined(CONFIG_RTC_DRV_V3020_MODULE) |
125 | #define RTC_IO_GPIO (153) | 147 | #define RTC_IO_GPIO (153) |
126 | #define RTC_WR_GPIO (154) | 148 | #define RTC_WR_GPIO (154) |
@@ -271,6 +293,10 @@ static struct omap_board_mux board_mux[] __initdata = { | |||
271 | /* CM-T3517 USB HUB nRESET */ | 293 | /* CM-T3517 USB HUB nRESET */ |
272 | OMAP3_MUX(MCBSP4_CLKX, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), | 294 | OMAP3_MUX(MCBSP4_CLKX, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), |
273 | 295 | ||
296 | /* CD - GPIO144 and WP - GPIO59 for MMC1 - SB-T35 */ | ||
297 | OMAP3_MUX(UART2_CTS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP), | ||
298 | OMAP3_MUX(GPMC_CLK, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP), | ||
299 | |||
274 | { .reg_offset = OMAP_MUX_TERMINATOR }, | 300 | { .reg_offset = OMAP_MUX_TERMINATOR }, |
275 | }; | 301 | }; |
276 | #endif | 302 | #endif |
@@ -286,6 +312,7 @@ static void __init cm_t3517_init(void) | |||
286 | cm_t3517_init_usbh(); | 312 | cm_t3517_init_usbh(); |
287 | cm_t3517_init_hecc(); | 313 | cm_t3517_init_hecc(); |
288 | am35xx_emac_init(AM35XX_DEFAULT_MDIO_FREQUENCY, 1); | 314 | am35xx_emac_init(AM35XX_DEFAULT_MDIO_FREQUENCY, 1); |
315 | omap_hsmmc_init(cm_t3517_mmc); | ||
289 | } | 316 | } |
290 | 317 | ||
291 | MACHINE_START(CM_T3517, "Compulab CM-T3517") | 318 | MACHINE_START(CM_T3517, "Compulab CM-T3517") |
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c index 12865af25d3a..f0aa64b1e977 100644 --- a/arch/arm/mach-omap2/board-devkit8000.c +++ b/arch/arm/mach-omap2/board-devkit8000.c | |||
@@ -627,7 +627,7 @@ static void __init devkit8000_init(void) | |||
627 | board_nand_init(devkit8000_nand_partitions, | 627 | board_nand_init(devkit8000_nand_partitions, |
628 | ARRAY_SIZE(devkit8000_nand_partitions), NAND_CS, | 628 | ARRAY_SIZE(devkit8000_nand_partitions), NAND_CS, |
629 | NAND_BUSWIDTH_16, NULL); | 629 | NAND_BUSWIDTH_16, NULL); |
630 | omap_twl4030_audio_init("omap3beagle"); | 630 | omap_twl4030_audio_init("omap3beagle", NULL); |
631 | 631 | ||
632 | /* Ensure SDRC pins are mux'd for self-refresh */ | 632 | /* Ensure SDRC pins are mux'd for self-refresh */ |
633 | omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT); | 633 | omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT); |
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c index 0f24cb84ba5a..2939c3d65492 100644 --- a/arch/arm/mach-omap2/board-igep0020.c +++ b/arch/arm/mach-omap2/board-igep0020.c | |||
@@ -300,20 +300,20 @@ static struct omap2_hsmmc_info mmc[] = { | |||
300 | 300 | ||
301 | static struct gpio_led igep_gpio_leds[] = { | 301 | static struct gpio_led igep_gpio_leds[] = { |
302 | [0] = { | 302 | [0] = { |
303 | .name = "gpio-led:red:d0", | 303 | .name = "omap3:red:user0", |
304 | .default_trigger = "default-off" | 304 | .default_state = 0, |
305 | }, | 305 | }, |
306 | [1] = { | 306 | [1] = { |
307 | .name = "gpio-led:green:d0", | 307 | .name = "omap3:green:boot", |
308 | .default_trigger = "default-off", | 308 | .default_state = 1, |
309 | }, | 309 | }, |
310 | [2] = { | 310 | [2] = { |
311 | .name = "gpio-led:red:d1", | 311 | .name = "omap3:red:user1", |
312 | .default_trigger = "default-off", | 312 | .default_state = 0, |
313 | }, | 313 | }, |
314 | [3] = { | 314 | [3] = { |
315 | .name = "gpio-led:green:d1", | 315 | .name = "omap3:green:user1", |
316 | .default_trigger = "heartbeat", | 316 | .default_state = 0, |
317 | .gpio = -EINVAL, /* gets replaced */ | 317 | .gpio = -EINVAL, /* gets replaced */ |
318 | .active_low = 1, | 318 | .active_low = 1, |
319 | }, | 319 | }, |
@@ -629,7 +629,7 @@ static void __init igep_init(void) | |||
629 | 629 | ||
630 | igep_flash_init(); | 630 | igep_flash_init(); |
631 | igep_leds_init(); | 631 | igep_leds_init(); |
632 | omap_twl4030_audio_init("igep2"); | 632 | omap_twl4030_audio_init("igep2", NULL); |
633 | 633 | ||
634 | /* | 634 | /* |
635 | * WLAN-BT combo module from MuRata which has a Marvell WLAN | 635 | * WLAN-BT combo module from MuRata which has a Marvell WLAN |
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 22c483d5dfa8..2a6e8ad1d68b 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
@@ -20,6 +20,8 @@ | |||
20 | #include <linux/clk.h> | 20 | #include <linux/clk.h> |
21 | #include <linux/io.h> | 21 | #include <linux/io.h> |
22 | #include <linux/leds.h> | 22 | #include <linux/leds.h> |
23 | #include <linux/pwm.h> | ||
24 | #include <linux/leds_pwm.h> | ||
23 | #include <linux/gpio.h> | 25 | #include <linux/gpio.h> |
24 | #include <linux/input.h> | 26 | #include <linux/input.h> |
25 | #include <linux/gpio_keys.h> | 27 | #include <linux/gpio_keys.h> |
@@ -55,6 +57,32 @@ | |||
55 | 57 | ||
56 | #define NAND_CS 0 | 58 | #define NAND_CS 0 |
57 | 59 | ||
60 | static struct pwm_lookup pwm_lookup[] = { | ||
61 | /* LEDB -> PMU_STAT */ | ||
62 | PWM_LOOKUP("twl-pwmled", 1, "leds_pwm", "beagleboard::pmu_stat"), | ||
63 | }; | ||
64 | |||
65 | static struct led_pwm pwm_leds[] = { | ||
66 | { | ||
67 | .name = "beagleboard::pmu_stat", | ||
68 | .max_brightness = 127, | ||
69 | .pwm_period_ns = 7812500, | ||
70 | }, | ||
71 | }; | ||
72 | |||
73 | static struct led_pwm_platform_data pwm_data = { | ||
74 | .num_leds = ARRAY_SIZE(pwm_leds), | ||
75 | .leds = pwm_leds, | ||
76 | }; | ||
77 | |||
78 | static struct platform_device leds_pwm = { | ||
79 | .name = "leds_pwm", | ||
80 | .id = -1, | ||
81 | .dev = { | ||
82 | .platform_data = &pwm_data, | ||
83 | }, | ||
84 | }; | ||
85 | |||
58 | /* | 86 | /* |
59 | * OMAP3 Beagle revision | 87 | * OMAP3 Beagle revision |
60 | * Run time detection of Beagle revision is done by reading GPIO. | 88 | * Run time detection of Beagle revision is done by reading GPIO. |
@@ -292,9 +320,6 @@ static int beagle_twl_gpio_setup(struct device *dev, | |||
292 | gpio_request_one(gpio + TWL4030_GPIO_MAX, beagle_config.usb_pwr_level, | 320 | gpio_request_one(gpio + TWL4030_GPIO_MAX, beagle_config.usb_pwr_level, |
293 | "nEN_USB_PWR"); | 321 | "nEN_USB_PWR"); |
294 | 322 | ||
295 | /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */ | ||
296 | gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1; | ||
297 | |||
298 | return 0; | 323 | return 0; |
299 | } | 324 | } |
300 | 325 | ||
@@ -376,11 +401,6 @@ static struct gpio_led gpio_leds[] = { | |||
376 | .default_trigger = "mmc0", | 401 | .default_trigger = "mmc0", |
377 | .gpio = 149, | 402 | .gpio = 149, |
378 | }, | 403 | }, |
379 | { | ||
380 | .name = "beagleboard::pmu_stat", | ||
381 | .gpio = -EINVAL, /* gets replaced */ | ||
382 | .active_low = true, | ||
383 | }, | ||
384 | }; | 404 | }; |
385 | 405 | ||
386 | static struct gpio_led_platform_data gpio_led_info = { | 406 | static struct gpio_led_platform_data gpio_led_info = { |
@@ -428,6 +448,7 @@ static struct platform_device *omap3_beagle_devices[] __initdata = { | |||
428 | &leds_gpio, | 448 | &leds_gpio, |
429 | &keys_gpio, | 449 | &keys_gpio, |
430 | &madc_hwmon, | 450 | &madc_hwmon, |
451 | &leds_pwm, | ||
431 | }; | 452 | }; |
432 | 453 | ||
433 | static const struct usbhs_omap_board_data usbhs_bdata __initconst = { | 454 | static const struct usbhs_omap_board_data usbhs_bdata __initconst = { |
@@ -524,7 +545,7 @@ static void __init omap3_beagle_init(void) | |||
524 | board_nand_init(omap3beagle_nand_partitions, | 545 | board_nand_init(omap3beagle_nand_partitions, |
525 | ARRAY_SIZE(omap3beagle_nand_partitions), NAND_CS, | 546 | ARRAY_SIZE(omap3beagle_nand_partitions), NAND_CS, |
526 | NAND_BUSWIDTH_16, NULL); | 547 | NAND_BUSWIDTH_16, NULL); |
527 | omap_twl4030_audio_init("omap3beagle"); | 548 | omap_twl4030_audio_init("omap3beagle", NULL); |
528 | 549 | ||
529 | /* Ensure msecure is mux'd to be able to set the RTC. */ | 550 | /* Ensure msecure is mux'd to be able to set the RTC. */ |
530 | omap_mux_init_signal("sys_drm_msecure", OMAP_PIN_OFF_OUTPUT_HIGH); | 551 | omap_mux_init_signal("sys_drm_msecure", OMAP_PIN_OFF_OUTPUT_HIGH); |
@@ -532,6 +553,8 @@ static void __init omap3_beagle_init(void) | |||
532 | /* Ensure SDRC pins are mux'd for self-refresh */ | 553 | /* Ensure SDRC pins are mux'd for self-refresh */ |
533 | omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT); | 554 | omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT); |
534 | omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT); | 555 | omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT); |
556 | |||
557 | pwm_add_table(pwm_lookup, ARRAY_SIZE(pwm_lookup)); | ||
535 | } | 558 | } |
536 | 559 | ||
537 | MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board") | 560 | MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board") |
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c index 3985f35aee06..8803b5cff09d 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c | |||
@@ -744,7 +744,7 @@ static void __init omap3_evm_init(void) | |||
744 | omap3evm_init_smsc911x(); | 744 | omap3evm_init_smsc911x(); |
745 | omap3_evm_display_init(); | 745 | omap3_evm_display_init(); |
746 | omap3_evm_wl12xx_init(); | 746 | omap3_evm_wl12xx_init(); |
747 | omap_twl4030_audio_init("omap3evm"); | 747 | omap_twl4030_audio_init("omap3evm", NULL); |
748 | } | 748 | } |
749 | 749 | ||
750 | MACHINE_START(OMAP3EVM, "OMAP3 EVM") | 750 | MACHINE_START(OMAP3EVM, "OMAP3 EVM") |
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index c8fde3e56441..fe644ebe7657 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c | |||
@@ -506,7 +506,7 @@ static void __init overo_init(void) | |||
506 | overo_display_init(); | 506 | overo_display_init(); |
507 | overo_init_led(); | 507 | overo_init_led(); |
508 | overo_init_keys(); | 508 | overo_init_keys(); |
509 | omap_twl4030_audio_init("overo"); | 509 | omap_twl4030_audio_init("overo", NULL); |
510 | 510 | ||
511 | /* Ensure SDRC pins are mux'd for self-refresh */ | 511 | /* Ensure SDRC pins are mux'd for self-refresh */ |
512 | omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT); | 512 | omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT); |
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index cf07e289b4ea..07a9ca8eda9f 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
@@ -162,30 +162,39 @@ static struct tsl2563_platform_data rx51_tsl2563_platform_data = { | |||
162 | #if defined(CONFIG_LEDS_LP5523) || defined(CONFIG_LEDS_LP5523_MODULE) | 162 | #if defined(CONFIG_LEDS_LP5523) || defined(CONFIG_LEDS_LP5523_MODULE) |
163 | static struct lp5523_led_config rx51_lp5523_led_config[] = { | 163 | static struct lp5523_led_config rx51_lp5523_led_config[] = { |
164 | { | 164 | { |
165 | .name = "lp5523:kb1", | ||
165 | .chan_nr = 0, | 166 | .chan_nr = 0, |
166 | .led_current = 50, | 167 | .led_current = 50, |
167 | }, { | 168 | }, { |
169 | .name = "lp5523:kb2", | ||
168 | .chan_nr = 1, | 170 | .chan_nr = 1, |
169 | .led_current = 50, | 171 | .led_current = 50, |
170 | }, { | 172 | }, { |
173 | .name = "lp5523:kb3", | ||
171 | .chan_nr = 2, | 174 | .chan_nr = 2, |
172 | .led_current = 50, | 175 | .led_current = 50, |
173 | }, { | 176 | }, { |
177 | .name = "lp5523:kb4", | ||
174 | .chan_nr = 3, | 178 | .chan_nr = 3, |
175 | .led_current = 50, | 179 | .led_current = 50, |
176 | }, { | 180 | }, { |
181 | .name = "lp5523:b", | ||
177 | .chan_nr = 4, | 182 | .chan_nr = 4, |
178 | .led_current = 50, | 183 | .led_current = 50, |
179 | }, { | 184 | }, { |
185 | .name = "lp5523:g", | ||
180 | .chan_nr = 5, | 186 | .chan_nr = 5, |
181 | .led_current = 50, | 187 | .led_current = 50, |
182 | }, { | 188 | }, { |
189 | .name = "lp5523:r", | ||
183 | .chan_nr = 6, | 190 | .chan_nr = 6, |
184 | .led_current = 50, | 191 | .led_current = 50, |
185 | }, { | 192 | }, { |
193 | .name = "lp5523:kb5", | ||
186 | .chan_nr = 7, | 194 | .chan_nr = 7, |
187 | .led_current = 50, | 195 | .led_current = 50, |
188 | }, { | 196 | }, { |
197 | .name = "lp5523:kb6", | ||
189 | .chan_nr = 8, | 198 | .chan_nr = 8, |
190 | .led_current = 50, | 199 | .led_current = 50, |
191 | } | 200 | } |
@@ -1253,6 +1262,16 @@ static void __init rx51_init_lirc(void) | |||
1253 | } | 1262 | } |
1254 | #endif | 1263 | #endif |
1255 | 1264 | ||
1265 | static struct platform_device madc_hwmon = { | ||
1266 | .name = "twl4030_madc_hwmon", | ||
1267 | .id = -1, | ||
1268 | }; | ||
1269 | |||
1270 | static void __init rx51_init_twl4030_hwmon(void) | ||
1271 | { | ||
1272 | platform_device_register(&madc_hwmon); | ||
1273 | } | ||
1274 | |||
1256 | void __init rx51_peripherals_init(void) | 1275 | void __init rx51_peripherals_init(void) |
1257 | { | 1276 | { |
1258 | rx51_i2c_init(); | 1277 | rx51_i2c_init(); |
@@ -1272,5 +1291,6 @@ void __init rx51_peripherals_init(void) | |||
1272 | omap_hsmmc_init(mmc); | 1291 | omap_hsmmc_init(mmc); |
1273 | 1292 | ||
1274 | rx51_charger_init(); | 1293 | rx51_charger_init(); |
1294 | rx51_init_twl4030_hwmon(); | ||
1275 | } | 1295 | } |
1276 | 1296 | ||
diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c index 26e07addc9d7..0745bd93f398 100644 --- a/arch/arm/mach-omap2/board-zoom-peripherals.c +++ b/arch/arm/mach-omap2/board-zoom-peripherals.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/wl12xx.h> | 20 | #include <linux/wl12xx.h> |
21 | #include <linux/mmc/host.h> | 21 | #include <linux/mmc/host.h> |
22 | #include <linux/platform_data/gpio-omap.h> | 22 | #include <linux/platform_data/gpio-omap.h> |
23 | #include <linux/platform_data/omap-twl4030.h> | ||
23 | 24 | ||
24 | #include <asm/mach-types.h> | 25 | #include <asm/mach-types.h> |
25 | #include <asm/mach/arch.h> | 26 | #include <asm/mach/arch.h> |
@@ -34,11 +35,9 @@ | |||
34 | #include "common-board-devices.h" | 35 | #include "common-board-devices.h" |
35 | 36 | ||
36 | #define OMAP_ZOOM_WLAN_PMENA_GPIO (101) | 37 | #define OMAP_ZOOM_WLAN_PMENA_GPIO (101) |
37 | #define ZOOM2_HEADSET_EXTMUTE_GPIO (153) | 38 | #define OMAP_ZOOM_TSC2004_IRQ_GPIO (153) |
38 | #define OMAP_ZOOM_WLAN_IRQ_GPIO (162) | 39 | #define OMAP_ZOOM_WLAN_IRQ_GPIO (162) |
39 | 40 | ||
40 | #define LCD_PANEL_ENABLE_GPIO (7 + OMAP_MAX_GPIO_LINES) | ||
41 | |||
42 | /* Zoom2 has Qwerty keyboard*/ | 41 | /* Zoom2 has Qwerty keyboard*/ |
43 | static uint32_t board_keymap[] = { | 42 | static uint32_t board_keymap[] = { |
44 | KEY(0, 0, KEY_E), | 43 | KEY(0, 0, KEY_E), |
@@ -226,22 +225,31 @@ static struct omap2_hsmmc_info mmc[] = { | |||
226 | {} /* Terminator */ | 225 | {} /* Terminator */ |
227 | }; | 226 | }; |
228 | 227 | ||
228 | static struct omap_tw4030_pdata omap_twl4030_audio_data = { | ||
229 | .voice_connected = true, | ||
230 | .custom_routing = true, | ||
231 | |||
232 | .has_hs = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, | ||
233 | .has_hf = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, | ||
234 | |||
235 | .has_mainmic = true, | ||
236 | .has_submic = true, | ||
237 | .has_hsmic = true, | ||
238 | .has_linein = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, | ||
239 | }; | ||
240 | |||
229 | static int zoom_twl_gpio_setup(struct device *dev, | 241 | static int zoom_twl_gpio_setup(struct device *dev, |
230 | unsigned gpio, unsigned ngpio) | 242 | unsigned gpio, unsigned ngpio) |
231 | { | 243 | { |
232 | int ret; | ||
233 | |||
234 | /* gpio + 0 is "mmc0_cd" (input/IRQ) */ | 244 | /* gpio + 0 is "mmc0_cd" (input/IRQ) */ |
235 | mmc[0].gpio_cd = gpio + 0; | 245 | mmc[0].gpio_cd = gpio + 0; |
236 | omap_hsmmc_late_init(mmc); | 246 | omap_hsmmc_late_init(mmc); |
237 | 247 | ||
238 | ret = gpio_request_one(LCD_PANEL_ENABLE_GPIO, GPIOF_OUT_INIT_LOW, | 248 | /* Audio setup */ |
239 | "lcd enable"); | 249 | omap_twl4030_audio_data.jack_detect = gpio + 2; |
240 | if (ret) | 250 | omap_twl4030_audio_init("Zoom2", &omap_twl4030_audio_data); |
241 | pr_err("Failed to get LCD_PANEL_ENABLE_GPIO (gpio%d).\n", | ||
242 | LCD_PANEL_ENABLE_GPIO); | ||
243 | 251 | ||
244 | return ret; | 252 | return 0; |
245 | } | 253 | } |
246 | 254 | ||
247 | static struct twl4030_gpio_platform_data zoom_gpio_data = { | 255 | static struct twl4030_gpio_platform_data zoom_gpio_data = { |
@@ -264,14 +272,9 @@ static int __init omap_i2c_init(void) | |||
264 | TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, | 272 | TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, |
265 | TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); | 273 | TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); |
266 | 274 | ||
267 | if (machine_is_omap_zoom2()) { | 275 | if (machine_is_omap_zoom2()) |
268 | struct twl4030_codec_data *codec_data; | 276 | zoom_twldata.audio->codec->ramp_delay_value = 3; /* 161 ms */ |
269 | codec_data = zoom_twldata.audio->codec; | ||
270 | 277 | ||
271 | codec_data->ramp_delay_value = 3; /* 161 ms */ | ||
272 | codec_data->hs_extmute = 1; | ||
273 | codec_data->hs_extmute_gpio = ZOOM2_HEADSET_EXTMUTE_GPIO; | ||
274 | } | ||
275 | omap_pmic_init(1, 2400, "twl5030", 7 + OMAP_INTC_START, &zoom_twldata); | 278 | omap_pmic_init(1, 2400, "twl5030", 7 + OMAP_INTC_START, &zoom_twldata); |
276 | omap_register_i2c_bus(2, 400, NULL, 0); | 279 | omap_register_i2c_bus(2, 400, NULL, 0); |
277 | omap_register_i2c_bus(3, 400, NULL, 0); | 280 | omap_register_i2c_bus(3, 400, NULL, 0); |
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c index 8033cb747c86..609c0913b0f3 100644 --- a/arch/arm/mach-omap2/gpmc.c +++ b/arch/arm/mach-omap2/gpmc.c | |||
@@ -783,9 +783,6 @@ static int gpmc_mem_init(void) | |||
783 | * even if we didn't boot from ROM. | 783 | * even if we didn't boot from ROM. |
784 | */ | 784 | */ |
785 | boot_rom_space = BOOT_ROM_SPACE; | 785 | boot_rom_space = BOOT_ROM_SPACE; |
786 | /* In apollon the CS0 is mapped as 0x0000 0000 */ | ||
787 | if (machine_is_omap_apollon()) | ||
788 | boot_rom_space = 0; | ||
789 | gpmc_mem_root.start = GPMC_MEM_START + boot_rom_space; | 786 | gpmc_mem_root.start = GPMC_MEM_START + boot_rom_space; |
790 | gpmc_mem_root.end = GPMC_MEM_END; | 787 | gpmc_mem_root.end = GPMC_MEM_END; |
791 | 788 | ||
diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c index e49b40b4c90a..62cf40b86e4a 100644 --- a/arch/arm/mach-omap2/twl-common.c +++ b/arch/arm/mach-omap2/twl-common.c | |||
@@ -528,24 +528,29 @@ void __init omap4_pmic_get_config(struct twl4030_platform_data *pmic_data, | |||
528 | defined(CONFIG_SND_OMAP_SOC_OMAP_TWL4030_MODULE) | 528 | defined(CONFIG_SND_OMAP_SOC_OMAP_TWL4030_MODULE) |
529 | #include <linux/platform_data/omap-twl4030.h> | 529 | #include <linux/platform_data/omap-twl4030.h> |
530 | 530 | ||
531 | /* Commonly used configuration */ | ||
531 | static struct omap_tw4030_pdata omap_twl4030_audio_data; | 532 | static struct omap_tw4030_pdata omap_twl4030_audio_data; |
532 | 533 | ||
533 | static struct platform_device audio_device = { | 534 | static struct platform_device audio_device = { |
534 | .name = "omap-twl4030", | 535 | .name = "omap-twl4030", |
535 | .id = -1, | 536 | .id = -1, |
536 | .dev = { | ||
537 | .platform_data = &omap_twl4030_audio_data, | ||
538 | }, | ||
539 | }; | 537 | }; |
540 | 538 | ||
541 | void __init omap_twl4030_audio_init(char *card_name) | 539 | void omap_twl4030_audio_init(char *card_name, |
540 | struct omap_tw4030_pdata *pdata) | ||
542 | { | 541 | { |
543 | omap_twl4030_audio_data.card_name = card_name; | 542 | if (!pdata) |
543 | pdata = &omap_twl4030_audio_data; | ||
544 | |||
545 | pdata->card_name = card_name; | ||
546 | |||
547 | audio_device.dev.platform_data = pdata; | ||
544 | platform_device_register(&audio_device); | 548 | platform_device_register(&audio_device); |
545 | } | 549 | } |
546 | 550 | ||
547 | #else /* SOC_OMAP_TWL4030 */ | 551 | #else /* SOC_OMAP_TWL4030 */ |
548 | void __init omap_twl4030_audio_init(char *card_name) | 552 | void omap_twl4030_audio_init(char *card_name, |
553 | struct omap_tw4030_pdata *pdata) | ||
549 | { | 554 | { |
550 | return; | 555 | return; |
551 | } | 556 | } |
diff --git a/arch/arm/mach-omap2/twl-common.h b/arch/arm/mach-omap2/twl-common.h index dcfbad5ac471..24b65d081b69 100644 --- a/arch/arm/mach-omap2/twl-common.h +++ b/arch/arm/mach-omap2/twl-common.h | |||
@@ -32,6 +32,7 @@ | |||
32 | 32 | ||
33 | struct twl4030_platform_data; | 33 | struct twl4030_platform_data; |
34 | struct twl6040_platform_data; | 34 | struct twl6040_platform_data; |
35 | struct omap_tw4030_pdata; | ||
35 | struct i2c_board_info; | 36 | struct i2c_board_info; |
36 | 37 | ||
37 | void omap_pmic_init(int bus, u32 clkrate, const char *pmic_type, int pmic_irq, | 38 | void omap_pmic_init(int bus, u32 clkrate, const char *pmic_type, int pmic_irq, |
@@ -60,6 +61,6 @@ void omap3_pmic_get_config(struct twl4030_platform_data *pmic_data, | |||
60 | void omap4_pmic_get_config(struct twl4030_platform_data *pmic_data, | 61 | void omap4_pmic_get_config(struct twl4030_platform_data *pmic_data, |
61 | u32 pdata_flags, u32 regulators_flags); | 62 | u32 pdata_flags, u32 regulators_flags); |
62 | 63 | ||
63 | void omap_twl4030_audio_init(char *card_name); | 64 | void omap_twl4030_audio_init(char *card_name, struct omap_tw4030_pdata *pdata); |
64 | 65 | ||
65 | #endif /* __OMAP_PMIC_COMMON__ */ | 66 | #endif /* __OMAP_PMIC_COMMON__ */ |
diff --git a/arch/arm/mach-pxa/palmtreo.c b/arch/arm/mach-pxa/palmtreo.c index 3f3c48f2f7ce..c181a60a23f4 100644 --- a/arch/arm/mach-pxa/palmtreo.c +++ b/arch/arm/mach-pxa/palmtreo.c | |||
@@ -161,7 +161,7 @@ static unsigned long centro685_pin_config[] __initdata = { | |||
161 | /****************************************************************************** | 161 | /****************************************************************************** |
162 | * GPIO keyboard | 162 | * GPIO keyboard |
163 | ******************************************************************************/ | 163 | ******************************************************************************/ |
164 | #if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE) | 164 | #if IS_ENABLED(CONFIG_KEYBOARD_PXA27x) |
165 | static unsigned int treo680_matrix_keys[] = { | 165 | static unsigned int treo680_matrix_keys[] = { |
166 | KEY(0, 0, KEY_F8), /* Red/Off/Power */ | 166 | KEY(0, 0, KEY_F8), /* Red/Off/Power */ |
167 | KEY(0, 1, KEY_LEFT), | 167 | KEY(0, 1, KEY_LEFT), |
@@ -309,7 +309,7 @@ static inline void palmtreo_kpc_init(void) {} | |||
309 | /****************************************************************************** | 309 | /****************************************************************************** |
310 | * USB host | 310 | * USB host |
311 | ******************************************************************************/ | 311 | ******************************************************************************/ |
312 | #if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) | 312 | #if IS_ENABLED(CONFIG_USB_OHCI_HCD) |
313 | static struct pxaohci_platform_data treo680_ohci_info = { | 313 | static struct pxaohci_platform_data treo680_ohci_info = { |
314 | .port_mode = PMM_PERPORT_MODE, | 314 | .port_mode = PMM_PERPORT_MODE, |
315 | .flags = ENABLE_PORT1 | ENABLE_PORT3, | 315 | .flags = ENABLE_PORT1 | ENABLE_PORT3, |
@@ -396,6 +396,36 @@ static inline void palmtreo_leds_init(void) {} | |||
396 | #endif | 396 | #endif |
397 | 397 | ||
398 | /****************************************************************************** | 398 | /****************************************************************************** |
399 | * diskonchip docg4 flash | ||
400 | ******************************************************************************/ | ||
401 | #if defined(CONFIG_MACH_TREO680) | ||
402 | /* REVISIT: does the centro have this device also? */ | ||
403 | #if IS_ENABLED(CONFIG_MTD_NAND_DOCG4) | ||
404 | static struct resource docg4_resources[] = { | ||
405 | { | ||
406 | .start = 0x00000000, | ||
407 | .end = 0x00001FFF, | ||
408 | .flags = IORESOURCE_MEM, | ||
409 | }, | ||
410 | }; | ||
411 | |||
412 | static struct platform_device treo680_docg4_flash = { | ||
413 | .name = "docg4", | ||
414 | .id = -1, | ||
415 | .resource = docg4_resources, | ||
416 | .num_resources = ARRAY_SIZE(docg4_resources), | ||
417 | }; | ||
418 | |||
419 | static void __init treo680_docg4_flash_init(void) | ||
420 | { | ||
421 | platform_device_register(&treo680_docg4_flash); | ||
422 | } | ||
423 | #else | ||
424 | static inline void treo680_docg4_flash_init(void) {} | ||
425 | #endif | ||
426 | #endif | ||
427 | |||
428 | /****************************************************************************** | ||
399 | * Machine init | 429 | * Machine init |
400 | ******************************************************************************/ | 430 | ******************************************************************************/ |
401 | static void __init treo_reserve(void) | 431 | static void __init treo_reserve(void) |
@@ -430,6 +460,7 @@ static void __init treo680_init(void) | |||
430 | palmphone_common_init(); | 460 | palmphone_common_init(); |
431 | palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, GPIO_NR_TREO680_SD_READONLY, | 461 | palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, GPIO_NR_TREO680_SD_READONLY, |
432 | GPIO_NR_TREO680_SD_POWER, 0); | 462 | GPIO_NR_TREO680_SD_POWER, 0); |
463 | treo680_docg4_flash_init(); | ||
433 | } | 464 | } |
434 | #endif | 465 | #endif |
435 | 466 | ||
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index 616cb87b6179..07f1bdb9cd8e 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c | |||
@@ -230,6 +230,7 @@ static struct clk_lookup pxa27x_clkregs[] = { | |||
230 | INIT_CLKREG(&clk_pxa27x_memc, NULL, "MEMCLK"), | 230 | INIT_CLKREG(&clk_pxa27x_memc, NULL, "MEMCLK"), |
231 | INIT_CLKREG(&clk_pxa27x_mem, "pxa2xx-pcmcia", NULL), | 231 | INIT_CLKREG(&clk_pxa27x_mem, "pxa2xx-pcmcia", NULL), |
232 | INIT_CLKREG(&clk_dummy, "pxa-gpio", NULL), | 232 | INIT_CLKREG(&clk_dummy, "pxa-gpio", NULL), |
233 | INIT_CLKREG(&clk_dummy, "sa1100-rtc", NULL), | ||
233 | }; | 234 | }; |
234 | 235 | ||
235 | #ifdef CONFIG_PM | 236 | #ifdef CONFIG_PM |
diff --git a/arch/arm/mach-shmobile/board-ag5evm.c b/arch/arm/mach-shmobile/board-ag5evm.c index 032d10817e79..5e7fe157f5a6 100644 --- a/arch/arm/mach-shmobile/board-ag5evm.c +++ b/arch/arm/mach-shmobile/board-ag5evm.c | |||
@@ -479,11 +479,10 @@ static void ag5evm_sdhi1_set_pwr(struct platform_device *pdev, int state) | |||
479 | static int power_gpio = -EINVAL; | 479 | static int power_gpio = -EINVAL; |
480 | 480 | ||
481 | if (power_gpio < 0) { | 481 | if (power_gpio < 0) { |
482 | int ret = gpio_request(GPIO_PORT114, "sdhi1_power"); | 482 | int ret = gpio_request_one(GPIO_PORT114, GPIOF_OUT_INIT_LOW, |
483 | if (!ret) { | 483 | "sdhi1_power"); |
484 | if (!ret) | ||
484 | power_gpio = GPIO_PORT114; | 485 | power_gpio = GPIO_PORT114; |
485 | gpio_direction_output(power_gpio, 0); | ||
486 | } | ||
487 | } | 486 | } |
488 | 487 | ||
489 | /* | 488 | /* |
@@ -604,14 +603,11 @@ static void __init ag5evm_init(void) | |||
604 | gpio_request(GPIO_FN_MMCD0_5_PU, NULL); | 603 | gpio_request(GPIO_FN_MMCD0_5_PU, NULL); |
605 | gpio_request(GPIO_FN_MMCD0_6_PU, NULL); | 604 | gpio_request(GPIO_FN_MMCD0_6_PU, NULL); |
606 | gpio_request(GPIO_FN_MMCD0_7_PU, NULL); | 605 | gpio_request(GPIO_FN_MMCD0_7_PU, NULL); |
607 | gpio_request(GPIO_PORT208, NULL); /* Reset */ | 606 | gpio_request_one(GPIO_PORT208, GPIOF_OUT_INIT_HIGH, NULL); /* Reset */ |
608 | gpio_direction_output(GPIO_PORT208, 1); | ||
609 | 607 | ||
610 | /* enable SMSC911X */ | 608 | /* enable SMSC911X */ |
611 | gpio_request(GPIO_PORT144, NULL); /* PINTA2 */ | 609 | gpio_request_one(GPIO_PORT144, GPIOF_IN, NULL); /* PINTA2 */ |
612 | gpio_direction_input(GPIO_PORT144); | 610 | gpio_request_one(GPIO_PORT145, GPIOF_OUT_INIT_HIGH, NULL); /* RESET */ |
613 | gpio_request(GPIO_PORT145, NULL); /* RESET */ | ||
614 | gpio_direction_output(GPIO_PORT145, 1); | ||
615 | 611 | ||
616 | /* FSI A */ | 612 | /* FSI A */ |
617 | gpio_request(GPIO_FN_FSIACK, NULL); | 613 | gpio_request(GPIO_FN_FSIACK, NULL); |
@@ -626,15 +622,13 @@ static void __init ag5evm_init(void) | |||
626 | gpio_request(GPIO_FN_PORT243_IRDA_FIRSEL, NULL); | 622 | gpio_request(GPIO_FN_PORT243_IRDA_FIRSEL, NULL); |
627 | 623 | ||
628 | /* LCD panel */ | 624 | /* LCD panel */ |
629 | gpio_request(GPIO_PORT217, NULL); /* RESET */ | 625 | gpio_request_one(GPIO_PORT217, GPIOF_OUT_INIT_LOW, NULL); /* RESET */ |
630 | gpio_direction_output(GPIO_PORT217, 0); | ||
631 | mdelay(1); | 626 | mdelay(1); |
632 | gpio_set_value(GPIO_PORT217, 1); | 627 | gpio_set_value(GPIO_PORT217, 1); |
633 | mdelay(100); | 628 | mdelay(100); |
634 | 629 | ||
635 | /* LCD backlight controller */ | 630 | /* LCD backlight controller */ |
636 | gpio_request(GPIO_PORT235, NULL); /* RESET */ | 631 | gpio_request_one(GPIO_PORT235, GPIOF_OUT_INIT_LOW, NULL); /* RESET */ |
637 | gpio_direction_output(GPIO_PORT235, 0); | ||
638 | lcd_backlight_set_brightness(0); | 632 | lcd_backlight_set_brightness(0); |
639 | 633 | ||
640 | /* enable SDHI0 on CN15 [SD I/F] */ | 634 | /* enable SDHI0 on CN15 [SD I/F] */ |
diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c index 99ef190d0909..0c59464230fb 100644 --- a/arch/arm/mach-shmobile/board-ap4evb.c +++ b/arch/arm/mach-shmobile/board-ap4evb.c | |||
@@ -143,6 +143,10 @@ | |||
143 | * | 143 | * |
144 | * SW41 : ON : SH-Mobile AP4 Audio Mode | 144 | * SW41 : ON : SH-Mobile AP4 Audio Mode |
145 | * : OFF : Bluetooth Audio Mode | 145 | * : OFF : Bluetooth Audio Mode |
146 | * | ||
147 | * it needs amixer settings for playing | ||
148 | * | ||
149 | * amixer set "Headphone Enable" on | ||
146 | */ | 150 | */ |
147 | 151 | ||
148 | /* | 152 | /* |
@@ -1042,9 +1046,7 @@ static int ts_get_pendown_state(void) | |||
1042 | 1046 | ||
1043 | gpio_free(GPIO_TSC_IRQ); | 1047 | gpio_free(GPIO_TSC_IRQ); |
1044 | 1048 | ||
1045 | gpio_request(GPIO_TSC_PORT, NULL); | 1049 | gpio_request_one(GPIO_TSC_PORT, GPIOF_IN, NULL); |
1046 | |||
1047 | gpio_direction_input(GPIO_TSC_PORT); | ||
1048 | 1050 | ||
1049 | val = gpio_get_value(GPIO_TSC_PORT); | 1051 | val = gpio_get_value(GPIO_TSC_PORT); |
1050 | 1052 | ||
@@ -1125,18 +1127,10 @@ static void __init ap4evb_init(void) | |||
1125 | gpio_request(GPIO_FN_IRQ6_39, NULL); | 1127 | gpio_request(GPIO_FN_IRQ6_39, NULL); |
1126 | 1128 | ||
1127 | /* enable Debug switch (S6) */ | 1129 | /* enable Debug switch (S6) */ |
1128 | gpio_request(GPIO_PORT32, NULL); | 1130 | gpio_request_one(GPIO_PORT32, GPIOF_IN | GPIOF_EXPORT, NULL); |
1129 | gpio_request(GPIO_PORT33, NULL); | 1131 | gpio_request_one(GPIO_PORT33, GPIOF_IN | GPIOF_EXPORT, NULL); |
1130 | gpio_request(GPIO_PORT34, NULL); | 1132 | gpio_request_one(GPIO_PORT34, GPIOF_IN | GPIOF_EXPORT, NULL); |
1131 | gpio_request(GPIO_PORT35, NULL); | 1133 | gpio_request_one(GPIO_PORT35, GPIOF_IN | GPIOF_EXPORT, NULL); |
1132 | gpio_direction_input(GPIO_PORT32); | ||
1133 | gpio_direction_input(GPIO_PORT33); | ||
1134 | gpio_direction_input(GPIO_PORT34); | ||
1135 | gpio_direction_input(GPIO_PORT35); | ||
1136 | gpio_export(GPIO_PORT32, 0); | ||
1137 | gpio_export(GPIO_PORT33, 0); | ||
1138 | gpio_export(GPIO_PORT34, 0); | ||
1139 | gpio_export(GPIO_PORT35, 0); | ||
1140 | 1134 | ||
1141 | /* SDHI0 */ | 1135 | /* SDHI0 */ |
1142 | gpio_request(GPIO_FN_SDHICD0, NULL); | 1136 | gpio_request(GPIO_FN_SDHICD0, NULL); |
@@ -1184,8 +1178,7 @@ static void __init ap4evb_init(void) | |||
1184 | gpio_request(GPIO_FN_FSIAILR, NULL); | 1178 | gpio_request(GPIO_FN_FSIAILR, NULL); |
1185 | gpio_request(GPIO_FN_FSIAISLD, NULL); | 1179 | gpio_request(GPIO_FN_FSIAISLD, NULL); |
1186 | gpio_request(GPIO_FN_FSIAOSLD, NULL); | 1180 | gpio_request(GPIO_FN_FSIAOSLD, NULL); |
1187 | gpio_request(GPIO_PORT161, NULL); | 1181 | gpio_request_one(GPIO_PORT161, GPIOF_OUT_INIT_LOW, NULL); /* slave */ |
1188 | gpio_direction_output(GPIO_PORT161, 0); /* slave */ | ||
1189 | 1182 | ||
1190 | gpio_request(GPIO_PORT9, NULL); | 1183 | gpio_request(GPIO_PORT9, NULL); |
1191 | gpio_request(GPIO_PORT10, NULL); | 1184 | gpio_request(GPIO_PORT10, NULL); |
@@ -1193,8 +1186,7 @@ static void __init ap4evb_init(void) | |||
1193 | gpio_direction_none(GPIO_PORT10CR); /* FSIAOLR needs no direction */ | 1186 | gpio_direction_none(GPIO_PORT10CR); /* FSIAOLR needs no direction */ |
1194 | 1187 | ||
1195 | /* card detect pin for MMC slot (CN7) */ | 1188 | /* card detect pin for MMC slot (CN7) */ |
1196 | gpio_request(GPIO_PORT41, NULL); | 1189 | gpio_request_one(GPIO_PORT41, GPIOF_IN, NULL); |
1197 | gpio_direction_input(GPIO_PORT41); | ||
1198 | 1190 | ||
1199 | /* setup FSI2 port B (HDMI) */ | 1191 | /* setup FSI2 port B (HDMI) */ |
1200 | gpio_request(GPIO_FN_FSIBCK, NULL); | 1192 | gpio_request(GPIO_FN_FSIBCK, NULL); |
@@ -1282,11 +1274,8 @@ static void __init ap4evb_init(void) | |||
1282 | gpio_request(GPIO_FN_LCDDISP, NULL); | 1274 | gpio_request(GPIO_FN_LCDDISP, NULL); |
1283 | gpio_request(GPIO_FN_LCDDCK, NULL); | 1275 | gpio_request(GPIO_FN_LCDDCK, NULL); |
1284 | 1276 | ||
1285 | gpio_request(GPIO_PORT189, NULL); /* backlight */ | 1277 | gpio_request_one(GPIO_PORT189, GPIOF_OUT_INIT_HIGH, NULL); /* backlight */ |
1286 | gpio_direction_output(GPIO_PORT189, 1); | 1278 | gpio_request_one(GPIO_PORT151, GPIOF_OUT_INIT_HIGH, NULL); /* LCDDON */ |
1287 | |||
1288 | gpio_request(GPIO_PORT151, NULL); /* LCDDON */ | ||
1289 | gpio_direction_output(GPIO_PORT151, 1); | ||
1290 | 1279 | ||
1291 | lcdc_info.clock_source = LCDC_CLK_BUS; | 1280 | lcdc_info.clock_source = LCDC_CLK_BUS; |
1292 | lcdc_info.ch[0].interface_type = RGB18; | 1281 | lcdc_info.ch[0].interface_type = RGB18; |
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c index 5353adf6b828..9008ad102a88 100644 --- a/arch/arm/mach-shmobile/board-armadillo800eva.c +++ b/arch/arm/mach-shmobile/board-armadillo800eva.c | |||
@@ -124,6 +124,14 @@ | |||
124 | * this command is required when playback. | 124 | * this command is required when playback. |
125 | * | 125 | * |
126 | * # amixer set "Headphone" 50 | 126 | * # amixer set "Headphone" 50 |
127 | * | ||
128 | * this command is required when capture. | ||
129 | * | ||
130 | * # amixer set "Input PGA" 15 | ||
131 | * # amixer set "Left Input Mixer MicP" on | ||
132 | * # amixer set "Left Input Mixer MicN" on | ||
133 | * # amixer set "Right Input Mixer MicN" on | ||
134 | * # amixer set "Right Input Mixer MicP" on | ||
127 | */ | 135 | */ |
128 | 136 | ||
129 | /* | 137 | /* |
@@ -700,9 +708,9 @@ static int mt9t111_power(struct device *dev, int mode) | |||
700 | /* video1 (= CON1 camera) expect 24MHz */ | 708 | /* video1 (= CON1 camera) expect 24MHz */ |
701 | clk_set_rate(mclk, clk_round_rate(mclk, 24000000)); | 709 | clk_set_rate(mclk, clk_round_rate(mclk, 24000000)); |
702 | clk_enable(mclk); | 710 | clk_enable(mclk); |
703 | gpio_direction_output(GPIO_PORT158, 1); | 711 | gpio_set_value(GPIO_PORT158, 1); |
704 | } else { | 712 | } else { |
705 | gpio_direction_output(GPIO_PORT158, 0); | 713 | gpio_set_value(GPIO_PORT158, 0); |
706 | clk_disable(mclk); | 714 | clk_disable(mclk); |
707 | } | 715 | } |
708 | 716 | ||
@@ -992,16 +1000,12 @@ static void __init eva_init(void) | |||
992 | gpio_request(GPIO_FN_LCD0_DISP, NULL); | 1000 | gpio_request(GPIO_FN_LCD0_DISP, NULL); |
993 | gpio_request(GPIO_FN_LCD0_LCLK_PORT165, NULL); | 1001 | gpio_request(GPIO_FN_LCD0_LCLK_PORT165, NULL); |
994 | 1002 | ||
995 | gpio_request(GPIO_PORT61, NULL); /* LCDDON */ | 1003 | gpio_request_one(GPIO_PORT61, GPIOF_OUT_INIT_HIGH, NULL); /* LCDDON */ |
996 | gpio_direction_output(GPIO_PORT61, 1); | 1004 | gpio_request_one(GPIO_PORT202, GPIOF_OUT_INIT_LOW, NULL); /* LCD0_LED_CONT */ |
997 | |||
998 | gpio_request(GPIO_PORT202, NULL); /* LCD0_LED_CONT */ | ||
999 | gpio_direction_output(GPIO_PORT202, 0); | ||
1000 | 1005 | ||
1001 | /* Touchscreen */ | 1006 | /* Touchscreen */ |
1002 | gpio_request(GPIO_FN_IRQ10, NULL); /* TP_INT */ | 1007 | gpio_request(GPIO_FN_IRQ10, NULL); /* TP_INT */ |
1003 | gpio_request(GPIO_PORT166, NULL); /* TP_RST_B */ | 1008 | gpio_request_one(GPIO_PORT166, GPIOF_OUT_INIT_HIGH, NULL); /* TP_RST_B */ |
1004 | gpio_direction_output(GPIO_PORT166, 1); | ||
1005 | 1009 | ||
1006 | /* GETHER */ | 1010 | /* GETHER */ |
1007 | gpio_request(GPIO_FN_ET_CRS, NULL); | 1011 | gpio_request(GPIO_FN_ET_CRS, NULL); |
@@ -1024,12 +1028,10 @@ static void __init eva_init(void) | |||
1024 | gpio_request(GPIO_FN_ET_RX_DV, NULL); | 1028 | gpio_request(GPIO_FN_ET_RX_DV, NULL); |
1025 | gpio_request(GPIO_FN_ET_RX_CLK, NULL); | 1029 | gpio_request(GPIO_FN_ET_RX_CLK, NULL); |
1026 | 1030 | ||
1027 | gpio_request(GPIO_PORT18, NULL); /* PHY_RST */ | 1031 | gpio_request_one(GPIO_PORT18, GPIOF_OUT_INIT_HIGH, NULL); /* PHY_RST */ |
1028 | gpio_direction_output(GPIO_PORT18, 1); | ||
1029 | 1032 | ||
1030 | /* USB */ | 1033 | /* USB */ |
1031 | gpio_request(GPIO_PORT159, NULL); /* USB_DEVICE_MODE */ | 1034 | gpio_request_one(GPIO_PORT159, GPIOF_IN, NULL); /* USB_DEVICE_MODE */ |
1032 | gpio_direction_input(GPIO_PORT159); | ||
1033 | 1035 | ||
1034 | if (gpio_get_value(GPIO_PORT159)) { | 1036 | if (gpio_get_value(GPIO_PORT159)) { |
1035 | /* USB Host */ | 1037 | /* USB Host */ |
@@ -1043,8 +1045,7 @@ static void __init eva_init(void) | |||
1043 | * and select GPIO_PORT209 here | 1045 | * and select GPIO_PORT209 here |
1044 | */ | 1046 | */ |
1045 | gpio_request(GPIO_FN_IRQ7_PORT209, NULL); | 1047 | gpio_request(GPIO_FN_IRQ7_PORT209, NULL); |
1046 | gpio_request(GPIO_PORT209, NULL); | 1048 | gpio_request_one(GPIO_PORT209, GPIOF_IN, NULL); |
1047 | gpio_direction_input(GPIO_PORT209); | ||
1048 | 1049 | ||
1049 | platform_device_register(&usbhsf_device); | 1050 | platform_device_register(&usbhsf_device); |
1050 | usb = &usbhsf_device; | 1051 | usb = &usbhsf_device; |
@@ -1059,12 +1060,9 @@ static void __init eva_init(void) | |||
1059 | gpio_request(GPIO_FN_SDHI0_D3, NULL); | 1060 | gpio_request(GPIO_FN_SDHI0_D3, NULL); |
1060 | gpio_request(GPIO_FN_SDHI0_WP, NULL); | 1061 | gpio_request(GPIO_FN_SDHI0_WP, NULL); |
1061 | 1062 | ||
1062 | gpio_request(GPIO_PORT17, NULL); /* SDHI0_18/33_B */ | 1063 | gpio_request_one(GPIO_PORT17, GPIOF_OUT_INIT_LOW, NULL); /* SDHI0_18/33_B */ |
1063 | gpio_request(GPIO_PORT74, NULL); /* SDHI0_PON */ | 1064 | gpio_request_one(GPIO_PORT74, GPIOF_OUT_INIT_HIGH, NULL); /* SDHI0_PON */ |
1064 | gpio_request(GPIO_PORT75, NULL); /* SDSLOT1_PON */ | 1065 | gpio_request_one(GPIO_PORT75, GPIOF_OUT_INIT_HIGH, NULL); /* SDSLOT1_PON */ |
1065 | gpio_direction_output(GPIO_PORT17, 0); | ||
1066 | gpio_direction_output(GPIO_PORT74, 1); | ||
1067 | gpio_direction_output(GPIO_PORT75, 1); | ||
1068 | 1066 | ||
1069 | /* we can use GPIO_FN_IRQ31_PORT167 here for SDHI0 CD irq */ | 1067 | /* we can use GPIO_FN_IRQ31_PORT167 here for SDHI0 CD irq */ |
1070 | 1068 | ||
@@ -1101,12 +1099,10 @@ static void __init eva_init(void) | |||
1101 | gpio_request(GPIO_FN_VIO_CKO, NULL); | 1099 | gpio_request(GPIO_FN_VIO_CKO, NULL); |
1102 | 1100 | ||
1103 | /* CON1/CON15 Camera */ | 1101 | /* CON1/CON15 Camera */ |
1104 | gpio_request(GPIO_PORT173, NULL); /* STANDBY */ | 1102 | gpio_request_one(GPIO_PORT173, GPIOF_OUT_INIT_LOW, NULL); /* STANDBY */ |
1105 | gpio_request(GPIO_PORT172, NULL); /* RST */ | 1103 | gpio_request_one(GPIO_PORT172, GPIOF_OUT_INIT_HIGH, NULL); /* RST */ |
1106 | gpio_request(GPIO_PORT158, NULL); /* CAM_PON */ | 1104 | /* see mt9t111_power() */ |
1107 | gpio_direction_output(GPIO_PORT173, 0); | 1105 | gpio_request_one(GPIO_PORT158, GPIOF_OUT_INIT_LOW, NULL); /* CAM_PON */ |
1108 | gpio_direction_output(GPIO_PORT172, 1); | ||
1109 | gpio_direction_output(GPIO_PORT158, 0); /* see mt9t111_power() */ | ||
1110 | 1106 | ||
1111 | /* FSI-WM8978 */ | 1107 | /* FSI-WM8978 */ |
1112 | gpio_request(GPIO_FN_FSIAIBT, NULL); | 1108 | gpio_request(GPIO_FN_FSIAIBT, NULL); |
@@ -1133,15 +1129,13 @@ static void __init eva_init(void) | |||
1133 | * DBGMD/LCDC0/FSIA MUX | 1129 | * DBGMD/LCDC0/FSIA MUX |
1134 | * DBGMD_SELECT_B should be set after setting PFC Function. | 1130 | * DBGMD_SELECT_B should be set after setting PFC Function. |
1135 | */ | 1131 | */ |
1136 | gpio_request(GPIO_PORT176, NULL); | 1132 | gpio_request_one(GPIO_PORT176, GPIOF_OUT_INIT_HIGH, NULL); |
1137 | gpio_direction_output(GPIO_PORT176, 1); | ||
1138 | 1133 | ||
1139 | /* | 1134 | /* |
1140 | * We can switch CON8/CON14 by SW1.5, | 1135 | * We can switch CON8/CON14 by SW1.5, |
1141 | * but it needs after DBGMD_SELECT_B | 1136 | * but it needs after DBGMD_SELECT_B |
1142 | */ | 1137 | */ |
1143 | gpio_request(GPIO_PORT6, NULL); | 1138 | gpio_request_one(GPIO_PORT6, GPIOF_IN, NULL); |
1144 | gpio_direction_input(GPIO_PORT6); | ||
1145 | if (gpio_get_value(GPIO_PORT6)) { | 1139 | if (gpio_get_value(GPIO_PORT6)) { |
1146 | /* CON14 enable */ | 1140 | /* CON14 enable */ |
1147 | } else { | 1141 | } else { |
@@ -1155,8 +1149,8 @@ static void __init eva_init(void) | |||
1155 | gpio_request(GPIO_FN_SDHI1_CD, NULL); | 1149 | gpio_request(GPIO_FN_SDHI1_CD, NULL); |
1156 | gpio_request(GPIO_FN_SDHI1_WP, NULL); | 1150 | gpio_request(GPIO_FN_SDHI1_WP, NULL); |
1157 | 1151 | ||
1158 | gpio_request(GPIO_PORT16, NULL); /* SDSLOT2_PON */ | 1152 | /* SDSLOT2_PON */ |
1159 | gpio_direction_output(GPIO_PORT16, 1); | 1153 | gpio_request_one(GPIO_PORT16, GPIOF_OUT_INIT_HIGH, NULL); |
1160 | 1154 | ||
1161 | platform_device_register(&sdhi1_device); | 1155 | platform_device_register(&sdhi1_device); |
1162 | } | 1156 | } |
@@ -1175,8 +1169,6 @@ static void __init eva_init(void) | |||
1175 | platform_add_devices(eva_devices, | 1169 | platform_add_devices(eva_devices, |
1176 | ARRAY_SIZE(eva_devices)); | 1170 | ARRAY_SIZE(eva_devices)); |
1177 | 1171 | ||
1178 | eva_clock_init(); | ||
1179 | |||
1180 | rmobile_add_device_to_domain("A4LC", &lcdc0_device); | 1172 | rmobile_add_device_to_domain("A4LC", &lcdc0_device); |
1181 | rmobile_add_device_to_domain("A4LC", &hdmi_lcdc_device); | 1173 | rmobile_add_device_to_domain("A4LC", &hdmi_lcdc_device); |
1182 | if (usb) | 1174 | if (usb) |
@@ -1187,6 +1179,9 @@ static void __init eva_earlytimer_init(void) | |||
1187 | { | 1179 | { |
1188 | r8a7740_clock_init(MD_CK0 | MD_CK2); | 1180 | r8a7740_clock_init(MD_CK0 | MD_CK2); |
1189 | shmobile_earlytimer_init(); | 1181 | shmobile_earlytimer_init(); |
1182 | |||
1183 | /* the rate of extal1 clock must be set before late_time_init */ | ||
1184 | eva_clock_init(); | ||
1190 | } | 1185 | } |
1191 | 1186 | ||
1192 | static void __init eva_add_early_devices(void) | 1187 | static void __init eva_add_early_devices(void) |
diff --git a/arch/arm/mach-shmobile/board-bonito.c b/arch/arm/mach-shmobile/board-bonito.c index cb8c994e1430..932a9c0926bc 100644 --- a/arch/arm/mach-shmobile/board-bonito.c +++ b/arch/arm/mach-shmobile/board-bonito.c | |||
@@ -392,8 +392,7 @@ static void __init bonito_init(void) | |||
392 | /* | 392 | /* |
393 | * base board settings | 393 | * base board settings |
394 | */ | 394 | */ |
395 | gpio_request(GPIO_PORT176, NULL); | 395 | gpio_request_one(GPIO_PORT176, GPIOF_IN, NULL); |
396 | gpio_direction_input(GPIO_PORT176); | ||
397 | if (!gpio_get_value(GPIO_PORT176)) { | 396 | if (!gpio_get_value(GPIO_PORT176)) { |
398 | u16 bsw2; | 397 | u16 bsw2; |
399 | u16 bsw3; | 398 | u16 bsw3; |
@@ -462,8 +461,8 @@ static void __init bonito_init(void) | |||
462 | gpio_request(GPIO_FN_LCD0_DISP, NULL); | 461 | gpio_request(GPIO_FN_LCD0_DISP, NULL); |
463 | gpio_request(GPIO_FN_LCD0_LCLK_PORT165, NULL); | 462 | gpio_request(GPIO_FN_LCD0_LCLK_PORT165, NULL); |
464 | 463 | ||
465 | gpio_request(GPIO_PORT61, NULL); /* LCDDON */ | 464 | gpio_request_one(GPIO_PORT61, GPIOF_OUT_INIT_HIGH, |
466 | gpio_direction_output(GPIO_PORT61, 1); | 465 | NULL); /* LCDDON */ |
467 | 466 | ||
468 | /* backlight on */ | 467 | /* backlight on */ |
469 | bonito_fpga_write(LCDCR, 1); | 468 | bonito_fpga_write(LCDCR, 1); |
diff --git a/arch/arm/mach-shmobile/board-kota2.c b/arch/arm/mach-shmobile/board-kota2.c index bf88f9a8b7ac..7ec3112e971f 100644 --- a/arch/arm/mach-shmobile/board-kota2.c +++ b/arch/arm/mach-shmobile/board-kota2.c | |||
@@ -474,10 +474,8 @@ static void __init kota2_init(void) | |||
474 | gpio_request(GPIO_FN_D15_NAF15, NULL); | 474 | gpio_request(GPIO_FN_D15_NAF15, NULL); |
475 | gpio_request(GPIO_FN_CS5A_, NULL); | 475 | gpio_request(GPIO_FN_CS5A_, NULL); |
476 | gpio_request(GPIO_FN_WE0__FWE, NULL); | 476 | gpio_request(GPIO_FN_WE0__FWE, NULL); |
477 | gpio_request(GPIO_PORT144, NULL); /* PINTA2 */ | 477 | gpio_request_one(GPIO_PORT144, GPIOF_IN, NULL); /* PINTA2 */ |
478 | gpio_direction_input(GPIO_PORT144); | 478 | gpio_request_one(GPIO_PORT145, GPIOF_OUT_INIT_HIGH, NULL); /* RESET */ |
479 | gpio_request(GPIO_PORT145, NULL); /* RESET */ | ||
480 | gpio_direction_output(GPIO_PORT145, 1); | ||
481 | 479 | ||
482 | /* KEYSC */ | 480 | /* KEYSC */ |
483 | gpio_request(GPIO_FN_KEYIN0_PU, NULL); | 481 | gpio_request(GPIO_FN_KEYIN0_PU, NULL); |
@@ -509,8 +507,7 @@ static void __init kota2_init(void) | |||
509 | gpio_request(GPIO_FN_MMCD0_6, NULL); | 507 | gpio_request(GPIO_FN_MMCD0_6, NULL); |
510 | gpio_request(GPIO_FN_MMCD0_7, NULL); | 508 | gpio_request(GPIO_FN_MMCD0_7, NULL); |
511 | gpio_request(GPIO_FN_MMCCMD0, NULL); | 509 | gpio_request(GPIO_FN_MMCCMD0, NULL); |
512 | gpio_request(GPIO_PORT208, NULL); /* Reset */ | 510 | gpio_request_one(GPIO_PORT208, GPIOF_OUT_INIT_HIGH, NULL); /* Reset */ |
513 | gpio_direction_output(GPIO_PORT208, 1); | ||
514 | 511 | ||
515 | /* SDHI0 (microSD) */ | 512 | /* SDHI0 (microSD) */ |
516 | gpio_request(GPIO_FN_SDHICD0_PU, NULL); | 513 | gpio_request(GPIO_FN_SDHICD0_PU, NULL); |
diff --git a/arch/arm/mach-shmobile/board-kzm9g.c b/arch/arm/mach-shmobile/board-kzm9g.c index c02448d6847f..2d08f57631d0 100644 --- a/arch/arm/mach-shmobile/board-kzm9g.c +++ b/arch/arm/mach-shmobile/board-kzm9g.c | |||
@@ -623,7 +623,7 @@ static int __init as3711_enable_lcdc_backlight(void) | |||
623 | 0x45, 0xf0, | 623 | 0x45, 0xf0, |
624 | }; | 624 | }; |
625 | 625 | ||
626 | if (!machine_is_kzm9g()) | 626 | if (!of_machine_is_compatible("renesas,kzm9g")) |
627 | return 0; | 627 | return 0; |
628 | 628 | ||
629 | if (!a) | 629 | if (!a) |
@@ -672,8 +672,7 @@ static void __init kzm_init(void) | |||
672 | gpio_request(GPIO_FN_CS4_, NULL); /* CS4 */ | 672 | gpio_request(GPIO_FN_CS4_, NULL); /* CS4 */ |
673 | 673 | ||
674 | /* SMSC */ | 674 | /* SMSC */ |
675 | gpio_request(GPIO_PORT224, NULL); /* IRQ3 */ | 675 | gpio_request_one(GPIO_PORT224, GPIOF_IN, NULL); /* IRQ3 */ |
676 | gpio_direction_input(GPIO_PORT224); | ||
677 | 676 | ||
678 | /* LCDC */ | 677 | /* LCDC */ |
679 | gpio_request(GPIO_FN_LCDD23, NULL); | 678 | gpio_request(GPIO_FN_LCDD23, NULL); |
@@ -703,14 +702,11 @@ static void __init kzm_init(void) | |||
703 | gpio_request(GPIO_FN_LCDDISP, NULL); | 702 | gpio_request(GPIO_FN_LCDDISP, NULL); |
704 | gpio_request(GPIO_FN_LCDDCK, NULL); | 703 | gpio_request(GPIO_FN_LCDDCK, NULL); |
705 | 704 | ||
706 | gpio_request(GPIO_PORT222, NULL); /* LCDCDON */ | 705 | gpio_request_one(GPIO_PORT222, GPIOF_OUT_INIT_HIGH, NULL); /* LCDCDON */ |
707 | gpio_request(GPIO_PORT226, NULL); /* SC */ | 706 | gpio_request_one(GPIO_PORT226, GPIOF_OUT_INIT_HIGH, NULL); /* SC */ |
708 | gpio_direction_output(GPIO_PORT222, 1); | ||
709 | gpio_direction_output(GPIO_PORT226, 1); | ||
710 | 707 | ||
711 | /* Touchscreen */ | 708 | /* Touchscreen */ |
712 | gpio_request(GPIO_PORT223, NULL); /* IRQ8 */ | 709 | gpio_request_one(GPIO_PORT223, GPIOF_IN, NULL); /* IRQ8 */ |
713 | gpio_direction_input(GPIO_PORT223); | ||
714 | 710 | ||
715 | /* enable MMCIF */ | 711 | /* enable MMCIF */ |
716 | gpio_request(GPIO_FN_MMCCLK0, NULL); | 712 | gpio_request(GPIO_FN_MMCCLK0, NULL); |
@@ -734,8 +730,7 @@ static void __init kzm_init(void) | |||
734 | gpio_request(GPIO_FN_SDHID0_1, NULL); | 730 | gpio_request(GPIO_FN_SDHID0_1, NULL); |
735 | gpio_request(GPIO_FN_SDHID0_0, NULL); | 731 | gpio_request(GPIO_FN_SDHID0_0, NULL); |
736 | gpio_request(GPIO_FN_SDHI0_VCCQ_MC0_ON, NULL); | 732 | gpio_request(GPIO_FN_SDHI0_VCCQ_MC0_ON, NULL); |
737 | gpio_request(GPIO_PORT15, NULL); | 733 | gpio_request_one(GPIO_PORT15, GPIOF_OUT_INIT_HIGH, NULL); /* power */ |
738 | gpio_direction_output(GPIO_PORT15, 1); /* power */ | ||
739 | 734 | ||
740 | /* enable Micro SD */ | 735 | /* enable Micro SD */ |
741 | gpio_request(GPIO_FN_SDHID2_0, NULL); | 736 | gpio_request(GPIO_FN_SDHID2_0, NULL); |
@@ -744,8 +739,7 @@ static void __init kzm_init(void) | |||
744 | gpio_request(GPIO_FN_SDHID2_3, NULL); | 739 | gpio_request(GPIO_FN_SDHID2_3, NULL); |
745 | gpio_request(GPIO_FN_SDHICMD2, NULL); | 740 | gpio_request(GPIO_FN_SDHICMD2, NULL); |
746 | gpio_request(GPIO_FN_SDHICLK2, NULL); | 741 | gpio_request(GPIO_FN_SDHICLK2, NULL); |
747 | gpio_request(GPIO_PORT14, NULL); | 742 | gpio_request_one(GPIO_PORT14, GPIOF_OUT_INIT_HIGH, NULL); /* power */ |
748 | gpio_direction_output(GPIO_PORT14, 1); /* power */ | ||
749 | 743 | ||
750 | /* I2C 3 */ | 744 | /* I2C 3 */ |
751 | gpio_request(GPIO_FN_PORT27_I2C_SCL3, NULL); | 745 | gpio_request(GPIO_FN_PORT27_I2C_SCL3, NULL); |
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c index 2fed62f66045..8de350fe2a97 100644 --- a/arch/arm/mach-shmobile/board-mackerel.c +++ b/arch/arm/mach-shmobile/board-mackerel.c | |||
@@ -202,9 +202,7 @@ | |||
202 | * | 202 | * |
203 | * it needs amixer settings for playing | 203 | * it needs amixer settings for playing |
204 | * | 204 | * |
205 | * amixer set "Headphone" on | 205 | * amixer set "Headphone Enable" on |
206 | * amixer set "HPOUTL Mixer DACH" on | ||
207 | * amixer set "HPOUTR Mixer DACH" on | ||
208 | */ | 206 | */ |
209 | 207 | ||
210 | /* Fixed 3.3V and 1.8V regulators to be used by multiple devices */ | 208 | /* Fixed 3.3V and 1.8V regulators to be used by multiple devices */ |
@@ -1408,11 +1406,10 @@ static void __init mackerel_init(void) | |||
1408 | gpio_request(GPIO_FN_LCDDISP, NULL); | 1406 | gpio_request(GPIO_FN_LCDDISP, NULL); |
1409 | gpio_request(GPIO_FN_LCDDCK, NULL); | 1407 | gpio_request(GPIO_FN_LCDDCK, NULL); |
1410 | 1408 | ||
1411 | gpio_request(GPIO_PORT31, NULL); /* backlight */ | 1409 | /* backlight, off by default */ |
1412 | gpio_direction_output(GPIO_PORT31, 0); /* off by default */ | 1410 | gpio_request_one(GPIO_PORT31, GPIOF_OUT_INIT_LOW, NULL); |
1413 | 1411 | ||
1414 | gpio_request(GPIO_PORT151, NULL); /* LCDDON */ | 1412 | gpio_request_one(GPIO_PORT151, GPIOF_OUT_INIT_HIGH, NULL); /* LCDDON */ |
1415 | gpio_direction_output(GPIO_PORT151, 1); | ||
1416 | 1413 | ||
1417 | /* USBHS0 */ | 1414 | /* USBHS0 */ |
1418 | gpio_request(GPIO_FN_VBUS0_0, NULL); | 1415 | gpio_request(GPIO_FN_VBUS0_0, NULL); |
@@ -1428,8 +1425,7 @@ static void __init mackerel_init(void) | |||
1428 | gpio_request(GPIO_FN_FSIAILR, NULL); | 1425 | gpio_request(GPIO_FN_FSIAILR, NULL); |
1429 | gpio_request(GPIO_FN_FSIAISLD, NULL); | 1426 | gpio_request(GPIO_FN_FSIAISLD, NULL); |
1430 | gpio_request(GPIO_FN_FSIAOSLD, NULL); | 1427 | gpio_request(GPIO_FN_FSIAOSLD, NULL); |
1431 | gpio_request(GPIO_PORT161, NULL); | 1428 | gpio_request_one(GPIO_PORT161, GPIOF_OUT_INIT_LOW, NULL); /* slave */ |
1432 | gpio_direction_output(GPIO_PORT161, 0); /* slave */ | ||
1433 | 1429 | ||
1434 | gpio_request(GPIO_PORT9, NULL); | 1430 | gpio_request(GPIO_PORT9, NULL); |
1435 | gpio_request(GPIO_PORT10, NULL); | 1431 | gpio_request(GPIO_PORT10, NULL); |
@@ -1483,8 +1479,7 @@ static void __init mackerel_init(void) | |||
1483 | gpio_request(GPIO_FN_SDHID1_0, NULL); | 1479 | gpio_request(GPIO_FN_SDHID1_0, NULL); |
1484 | #endif | 1480 | #endif |
1485 | /* card detect pin for MMC slot (CN7) */ | 1481 | /* card detect pin for MMC slot (CN7) */ |
1486 | gpio_request(GPIO_PORT41, NULL); | 1482 | gpio_request_one(GPIO_PORT41, GPIOF_IN, NULL); |
1487 | gpio_direction_input(GPIO_PORT41); | ||
1488 | 1483 | ||
1489 | /* enable SDHI2 */ | 1484 | /* enable SDHI2 */ |
1490 | gpio_request(GPIO_FN_SDHICMD2, NULL); | 1485 | gpio_request(GPIO_FN_SDHICMD2, NULL); |
@@ -1495,8 +1490,7 @@ static void __init mackerel_init(void) | |||
1495 | gpio_request(GPIO_FN_SDHID2_0, NULL); | 1490 | gpio_request(GPIO_FN_SDHID2_0, NULL); |
1496 | 1491 | ||
1497 | /* card detect pin for microSD slot (CN23) */ | 1492 | /* card detect pin for microSD slot (CN23) */ |
1498 | gpio_request(GPIO_PORT162, NULL); | 1493 | gpio_request_one(GPIO_PORT162, GPIOF_IN, NULL); |
1499 | gpio_direction_input(GPIO_PORT162); | ||
1500 | 1494 | ||
1501 | /* MMCIF */ | 1495 | /* MMCIF */ |
1502 | gpio_request(GPIO_FN_MMCD0_0, NULL); | 1496 | gpio_request(GPIO_FN_MMCD0_0, NULL); |