diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 18:33:45 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 18:33:45 -0500 |
commit | 6c5096e5538b455bc3bea2b02588c380f070d8c6 (patch) | |
tree | a2d08974a0c6a6fd19dff90bd3ab1827c23a5764 | |
parent | bab588fcfb6335c767d811a8955979f5440328e0 (diff) | |
parent | f628e3d92465303792d52c98fb0c95bef558f936 (diff) |
Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC board specific changes from Arnd Bergmann:
"These updates are all for board specific code, including
- defconfig updates for shmobile, davinci, bcm2835, imx, omap and
tegra
- SD/MMC and I2C support on bcm2835 (Raspberry PI)
- minor updates for PXA
- shmobile updates to GPIO usage in board files
- More things in OMAP board files are moved over to device tree
probing
- Better support for audio devices on some OMAP platforms"
* tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (55 commits)
ARM: imx_v4_v5_defconfig: Add VPU support
ARM: imx: configs: enable netfilter support
ARM: OMAP2+: Fix twl section warnings related to omap_twl4030_audio_init
ARM: OMAP2+: omap2plus_defconfig: enable omap1 rtc
RX-51: Register twl4030-madc device
RX-51: Add leds lp5523 names from Maemo 5 2.6.28 kernel
ARM: OMAP2+: AM33XX: omap2plus_defconfig: Add support for few drivers
ARM: OMAP1: nokia770: enable CBUS/Retu
ARM: OMAP2+: omap2plus_defconfig: enable CMA allocator
ARM: OMAP2+: omap2plus_defconfig: enable TFP410 chip support
ARM: OMAP3: igep0020: simplify GPIO LEDs dependencies
ARM: OMAP2+: craneboard: support the TPS65910 PMU
ARM: OMAP2+: craneboard: support NAND device
ARM: OMAP3: cm-t3517: add MMC support
ARM: OMAP2+: Remove apollon board support
ARM: shmobile: armadillo800eva: set clock rates before timer init
ARM: tegra: defconfig updates
ARM: shmobile: mackerel: Use gpio_request_one()
ARM: shmobile: kzm9g: Use gpio_request_one()
ARM: shmobile: bonito: Use gpio_request_one()
...
47 files changed, 536 insertions, 640 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/imx_v4_v5_defconfig b/arch/arm/configs/imx_v4_v5_defconfig index ebbfb27e0e74..02c657af4005 100644 --- a/arch/arm/configs/imx_v4_v5_defconfig +++ b/arch/arm/configs/imx_v4_v5_defconfig | |||
@@ -61,6 +61,7 @@ CONFIG_IP_PNP_DHCP=y | |||
61 | # CONFIG_INET_LRO is not set | 61 | # CONFIG_INET_LRO is not set |
62 | # CONFIG_INET_DIAG is not set | 62 | # CONFIG_INET_DIAG is not set |
63 | # CONFIG_IPV6 is not set | 63 | # CONFIG_IPV6 is not set |
64 | CONFIG_NETFILTER=y | ||
64 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 65 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
65 | CONFIG_DEVTMPFS=y | 66 | CONFIG_DEVTMPFS=y |
66 | CONFIG_DEVTMPFS_MOUNT=y | 67 | CONFIG_DEVTMPFS_MOUNT=y |
@@ -127,6 +128,8 @@ CONFIG_MEDIA_CAMERA_SUPPORT=y | |||
127 | CONFIG_SOC_CAMERA=y | 128 | CONFIG_SOC_CAMERA=y |
128 | CONFIG_SOC_CAMERA_OV2640=y | 129 | CONFIG_SOC_CAMERA_OV2640=y |
129 | CONFIG_VIDEO_MX2=y | 130 | CONFIG_VIDEO_MX2=y |
131 | CONFIG_V4L_MEM2MEM_DRIVERS=y | ||
132 | CONFIG_VIDEO_CODA=y | ||
130 | CONFIG_FB=y | 133 | CONFIG_FB=y |
131 | CONFIG_FB_IMX=y | 134 | CONFIG_FB_IMX=y |
132 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 135 | CONFIG_BACKLIGHT_LCD_SUPPORT=y |
diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig index 0a3966787563..e36b01025321 100644 --- a/arch/arm/configs/imx_v6_v7_defconfig +++ b/arch/arm/configs/imx_v6_v7_defconfig | |||
@@ -59,6 +59,7 @@ CONFIG_IP_PNP_DHCP=y | |||
59 | # CONFIG_INET_XFRM_MODE_BEET is not set | 59 | # CONFIG_INET_XFRM_MODE_BEET is not set |
60 | # CONFIG_INET_LRO is not set | 60 | # CONFIG_INET_LRO is not set |
61 | CONFIG_IPV6=y | 61 | CONFIG_IPV6=y |
62 | CONFIG_NETFILTER=y | ||
62 | # CONFIG_WIRELESS is not set | 63 | # CONFIG_WIRELESS is not set |
63 | CONFIG_DEVTMPFS=y | 64 | CONFIG_DEVTMPFS=y |
64 | CONFIG_DEVTMPFS_MOUNT=y | 65 | CONFIG_DEVTMPFS_MOUNT=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 5be2e4be802c..b16bae2c9a60 100644 --- a/arch/arm/configs/omap2plus_defconfig +++ b/arch/arm/configs/omap2plus_defconfig | |||
@@ -53,6 +53,11 @@ CONFIG_IP_PNP_RARP=y | |||
53 | # CONFIG_INET_LRO is not set | 53 | # CONFIG_INET_LRO is not set |
54 | # CONFIG_IPV6 is not set | 54 | # CONFIG_IPV6 is not set |
55 | CONFIG_NETFILTER=y | 55 | CONFIG_NETFILTER=y |
56 | CONFIG_CAN=m | ||
57 | CONFIG_CAN_RAW=m | ||
58 | CONFIG_CAN_BCM=m | ||
59 | CONFIG_CAN_C_CAN=m | ||
60 | CONFIG_CAN_C_CAN_PLATFORM=m | ||
56 | CONFIG_BT=m | 61 | CONFIG_BT=m |
57 | CONFIG_BT_HCIUART=m | 62 | CONFIG_BT_HCIUART=m |
58 | CONFIG_BT_HCIUART_H4=y | 63 | CONFIG_BT_HCIUART_H4=y |
@@ -65,6 +70,7 @@ CONFIG_MAC80211=m | |||
65 | CONFIG_MAC80211_RC_PID=y | 70 | CONFIG_MAC80211_RC_PID=y |
66 | CONFIG_MAC80211_RC_DEFAULT_PID=y | 71 | CONFIG_MAC80211_RC_DEFAULT_PID=y |
67 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 72 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
73 | CONFIG_CMA=y | ||
68 | CONFIG_CONNECTOR=y | 74 | CONFIG_CONNECTOR=y |
69 | CONFIG_DEVTMPFS=y | 75 | CONFIG_DEVTMPFS=y |
70 | CONFIG_DEVTMPFS_MOUNT=y | 76 | CONFIG_DEVTMPFS_MOUNT=y |
@@ -84,6 +90,9 @@ CONFIG_MTD_UBI=y | |||
84 | CONFIG_BLK_DEV_LOOP=y | 90 | CONFIG_BLK_DEV_LOOP=y |
85 | CONFIG_BLK_DEV_RAM=y | 91 | CONFIG_BLK_DEV_RAM=y |
86 | CONFIG_BLK_DEV_RAM_SIZE=16384 | 92 | CONFIG_BLK_DEV_RAM_SIZE=16384 |
93 | CONFIG_SENSORS_LIS3LV02D=m | ||
94 | CONFIG_SENSORS_TSL2550=m | ||
95 | CONFIG_SENSORS_LIS3_I2C=m | ||
87 | CONFIG_SCSI=y | 96 | CONFIG_SCSI=y |
88 | CONFIG_BLK_DEV_SD=y | 97 | CONFIG_BLK_DEV_SD=y |
89 | CONFIG_SCSI_MULTI_LUN=y | 98 | CONFIG_SCSI_MULTI_LUN=y |
@@ -109,6 +118,7 @@ CONFIG_USB_KC2190=y | |||
109 | CONFIG_INPUT_JOYDEV=y | 118 | CONFIG_INPUT_JOYDEV=y |
110 | CONFIG_INPUT_EVDEV=y | 119 | CONFIG_INPUT_EVDEV=y |
111 | CONFIG_KEYBOARD_GPIO=y | 120 | CONFIG_KEYBOARD_GPIO=y |
121 | CONFIG_KEYBOARD_MATRIX=m | ||
112 | CONFIG_KEYBOARD_TWL4030=y | 122 | CONFIG_KEYBOARD_TWL4030=y |
113 | CONFIG_INPUT_TOUCHSCREEN=y | 123 | CONFIG_INPUT_TOUCHSCREEN=y |
114 | CONFIG_TOUCHSCREEN_ADS7846=y | 124 | CONFIG_TOUCHSCREEN_ADS7846=y |
@@ -134,14 +144,17 @@ CONFIG_GPIO_SYSFS=y | |||
134 | CONFIG_GPIO_TWL4030=y | 144 | CONFIG_GPIO_TWL4030=y |
135 | CONFIG_W1=y | 145 | CONFIG_W1=y |
136 | CONFIG_POWER_SUPPLY=y | 146 | CONFIG_POWER_SUPPLY=y |
147 | CONFIG_SENSORS_LM75=m | ||
137 | CONFIG_WATCHDOG=y | 148 | CONFIG_WATCHDOG=y |
138 | CONFIG_OMAP_WATCHDOG=y | 149 | CONFIG_OMAP_WATCHDOG=y |
139 | CONFIG_TWL4030_WATCHDOG=y | 150 | CONFIG_TWL4030_WATCHDOG=y |
140 | CONFIG_MFD_TPS65217=y | 151 | CONFIG_MFD_TPS65217=y |
152 | CONFIG_MFD_TPS65910=y | ||
141 | CONFIG_REGULATOR_TWL4030=y | 153 | CONFIG_REGULATOR_TWL4030=y |
142 | CONFIG_REGULATOR_TPS65023=y | 154 | CONFIG_REGULATOR_TPS65023=y |
143 | CONFIG_REGULATOR_TPS6507X=y | 155 | CONFIG_REGULATOR_TPS6507X=y |
144 | CONFIG_REGULATOR_TPS65217=y | 156 | CONFIG_REGULATOR_TPS65217=y |
157 | CONFIG_REGULATOR_TPS65910=y | ||
145 | CONFIG_FB=y | 158 | CONFIG_FB=y |
146 | CONFIG_FIRMWARE_EDID=y | 159 | CONFIG_FIRMWARE_EDID=y |
147 | CONFIG_FB_MODE_HELPERS=y | 160 | CONFIG_FB_MODE_HELPERS=y |
@@ -153,6 +166,7 @@ CONFIG_OMAP2_DSS_SDI=y | |||
153 | CONFIG_OMAP2_DSS_DSI=y | 166 | CONFIG_OMAP2_DSS_DSI=y |
154 | CONFIG_FB_OMAP2=m | 167 | CONFIG_FB_OMAP2=m |
155 | CONFIG_PANEL_GENERIC_DPI=m | 168 | CONFIG_PANEL_GENERIC_DPI=m |
169 | CONFIG_PANEL_TFP410=m | ||
156 | CONFIG_PANEL_SHARP_LS037V7DW01=m | 170 | CONFIG_PANEL_SHARP_LS037V7DW01=m |
157 | CONFIG_PANEL_NEC_NL8048HL11_01B=m | 171 | CONFIG_PANEL_NEC_NL8048HL11_01B=m |
158 | CONFIG_PANEL_TAAL=m | 172 | CONFIG_PANEL_TAAL=m |
@@ -200,9 +214,20 @@ CONFIG_SDIO_UART=y | |||
200 | CONFIG_MMC_ARMMMCI=y | 214 | CONFIG_MMC_ARMMMCI=y |
201 | CONFIG_MMC_OMAP=y | 215 | CONFIG_MMC_OMAP=y |
202 | CONFIG_MMC_OMAP_HS=y | 216 | CONFIG_MMC_OMAP_HS=y |
217 | CONFIG_NEW_LEDS=y | ||
218 | CONFIG_LEDS_GPIO=y | ||
219 | CONFIG_LEDS_TRIGGERS=y | ||
220 | CONFIG_LEDS_TRIGGER_TIMER=y | ||
221 | CONFIG_LEDS_TRIGGER_ONESHOT=y | ||
222 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | ||
223 | CONFIG_LEDS_TRIGGER_BACKLIGHT=y | ||
224 | CONFIG_LEDS_TRIGGER_CPU=y | ||
225 | CONFIG_LEDS_TRIGGER_GPIO=y | ||
226 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y | ||
203 | CONFIG_RTC_CLASS=y | 227 | CONFIG_RTC_CLASS=y |
204 | CONFIG_RTC_DRV_TWL92330=y | 228 | CONFIG_RTC_DRV_TWL92330=y |
205 | CONFIG_RTC_DRV_TWL4030=y | 229 | CONFIG_RTC_DRV_TWL4030=y |
230 | CONFIG_RTC_DRV_OMAP=y | ||
206 | CONFIG_DMADEVICES=y | 231 | CONFIG_DMADEVICES=y |
207 | CONFIG_DMA_OMAP=y | 232 | CONFIG_DMA_OMAP=y |
208 | CONFIG_EXT2_FS=y | 233 | 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 3a76a47df39c..1f50a653eb8c 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,38 +1521,33 @@ 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 | ||
@@ -1573,13 +1559,11 @@ static __init void da850_evm_init(void) | |||
1573 | 1559 | ||
1574 | ret = da8xx_register_spi_bus(1, ARRAY_SIZE(da850evm_spi_info)); | 1560 | ret = da8xx_register_spi_bus(1, ARRAY_SIZE(da850evm_spi_info)); |
1575 | if (ret) | 1561 | if (ret) |
1576 | pr_warning("da850_evm_init: spi 1 registration failed: %d\n", | 1562 | pr_warn("%s: SPI 1 registration failed: %d\n", __func__, ret); |
1577 | ret); | ||
1578 | 1563 | ||
1579 | ret = da850_register_sata(DA850EVM_SATA_REFCLKPN_RATE); | 1564 | ret = da850_register_sata(DA850EVM_SATA_REFCLKPN_RATE); |
1580 | if (ret) | 1565 | if (ret) |
1581 | pr_warning("da850_evm_init: sata registration failed: %d\n", | 1566 | pr_warn("%s: SATA registration failed: %d\n", __func__, ret); |
1582 | ret); | ||
1583 | 1567 | ||
1584 | da850_evm_setup_mac_addr(); | 1568 | da850_evm_setup_mac_addr(); |
1585 | } | 1569 | } |
diff --git a/arch/arm/mach-davinci/board-omapl138-hawk.c b/arch/arm/mach-davinci/board-omapl138-hawk.c index deb3922612b9..5a2bd44da54d 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 4695ca717706..62a15e289c79 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 c3c033f283a9..22ad24e9496b 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
@@ -188,12 +188,6 @@ config MACH_OMAP_H4 | |||
188 | select OMAP_DEBUG_DEVICES | 188 | select OMAP_DEBUG_DEVICES |
189 | select OMAP_PACKAGE_ZAF | 189 | select OMAP_PACKAGE_ZAF |
190 | 190 | ||
191 | config MACH_OMAP_APOLLON | ||
192 | bool "OMAP 2420 Apollon board" | ||
193 | depends on SOC_OMAP2420 | ||
194 | default y | ||
195 | select OMAP_PACKAGE_ZAC | ||
196 | |||
197 | config MACH_OMAP_2430SDP | 191 | config MACH_OMAP_2430SDP |
198 | bool "OMAP 2430 SDP board" | 192 | bool "OMAP 2430 SDP board" |
199 | depends on SOC_OMAP2430 | 193 | depends on SOC_OMAP2430 |
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index 65fb6fb38caf..ff528df70119 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile | |||
@@ -223,7 +223,6 @@ endif | |||
223 | obj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o | 223 | obj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o |
224 | obj-$(CONFIG_MACH_OMAP_H4) += board-h4.o | 224 | obj-$(CONFIG_MACH_OMAP_H4) += board-h4.o |
225 | obj-$(CONFIG_MACH_OMAP_2430SDP) += board-2430sdp.o | 225 | obj-$(CONFIG_MACH_OMAP_2430SDP) += board-2430sdp.o |
226 | obj-$(CONFIG_MACH_OMAP_APOLLON) += board-apollon.o | ||
227 | obj-$(CONFIG_MACH_OMAP3_BEAGLE) += board-omap3beagle.o | 226 | obj-$(CONFIG_MACH_OMAP3_BEAGLE) += board-omap3beagle.o |
228 | obj-$(CONFIG_MACH_DEVKIT8000) += board-devkit8000.o | 227 | obj-$(CONFIG_MACH_DEVKIT8000) += board-devkit8000.o |
229 | obj-$(CONFIG_MACH_OMAP_LDP) += board-ldp.o | 228 | 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 15a3914ab492..ce812decfaca 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 | #include <linux/usb/phy.h> | 29 | #include <linux/usb/phy.h> |
29 | 30 | ||
30 | #include <asm/mach-types.h> | 31 | #include <asm/mach-types.h> |
@@ -210,6 +211,19 @@ static struct omap2_hsmmc_info mmc[] = { | |||
210 | {} /* Terminator */ | 211 | {} /* Terminator */ |
211 | }; | 212 | }; |
212 | 213 | ||
214 | static struct omap_tw4030_pdata omap_twl4030_audio_data = { | ||
215 | .voice_connected = true, | ||
216 | .custom_routing = true, | ||
217 | |||
218 | .has_hs = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, | ||
219 | .has_hf = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, | ||
220 | |||
221 | .has_mainmic = true, | ||
222 | .has_submic = true, | ||
223 | .has_hsmic = true, | ||
224 | .has_linein = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, | ||
225 | }; | ||
226 | |||
213 | static int sdp3430_twl_gpio_setup(struct device *dev, | 227 | static int sdp3430_twl_gpio_setup(struct device *dev, |
214 | unsigned gpio, unsigned ngpio) | 228 | unsigned gpio, unsigned ngpio) |
215 | { | 229 | { |
@@ -226,6 +240,9 @@ static int sdp3430_twl_gpio_setup(struct device *dev, | |||
226 | /* gpio + 15 is "sub_lcd_nRST" (output) */ | 240 | /* gpio + 15 is "sub_lcd_nRST" (output) */ |
227 | gpio_request_one(gpio + 15, GPIOF_OUT_INIT_LOW, "sub_lcd_nRST"); | 241 | gpio_request_one(gpio + 15, GPIOF_OUT_INIT_LOW, "sub_lcd_nRST"); |
228 | 242 | ||
243 | omap_twl4030_audio_data.jack_detect = gpio + 2; | ||
244 | omap_twl4030_audio_init("SDP3430", &omap_twl4030_audio_data); | ||
245 | |||
229 | return 0; | 246 | return 0; |
230 | } | 247 | } |
231 | 248 | ||
@@ -383,6 +400,9 @@ static int __init omap3430_i2c_init(void) | |||
383 | sdp3430_twldata.vpll2->constraints.apply_uV = true; | 400 | sdp3430_twldata.vpll2->constraints.apply_uV = true; |
384 | sdp3430_twldata.vpll2->constraints.name = "VDVI"; | 401 | sdp3430_twldata.vpll2->constraints.name = "VDVI"; |
385 | 402 | ||
403 | sdp3430_twldata.audio->codec->hs_extmute = 1; | ||
404 | sdp3430_twldata.audio->codec->hs_extmute_gpio = -EINVAL; | ||
405 | |||
386 | omap3_pmic_init("twl4030", &sdp3430_twldata); | 406 | omap3_pmic_init("twl4030", &sdp3430_twldata); |
387 | 407 | ||
388 | /* i2c2 on camera connector (for sensor control) and optional isp1301 */ | 408 | /* 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 508e2752b7de..35f3ad0cb7c7 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/irqchip/arm-gic.h> | 31 | #include <linux/irqchip/arm-gic.h> |
30 | #include <linux/platform_data/omap4-keypad.h> | 32 | #include <linux/platform_data/omap4-keypad.h> |
31 | #include <linux/usb/musb.h> | 33 | #include <linux/usb/musb.h> |
@@ -257,10 +259,20 @@ static struct gpio_led_platform_data sdp4430_led_data = { | |||
257 | .num_leds = ARRAY_SIZE(sdp4430_gpio_leds), | 259 | .num_leds = ARRAY_SIZE(sdp4430_gpio_leds), |
258 | }; | 260 | }; |
259 | 261 | ||
262 | static struct pwm_lookup sdp4430_pwm_lookup[] = { | ||
263 | PWM_LOOKUP("twl-pwm", 0, "leds_pwm", "omap4::keypad"), | ||
264 | PWM_LOOKUP("twl-pwm", 1, "pwm-backlight", NULL), | ||
265 | PWM_LOOKUP("twl-pwmled", 0, "leds_pwm", "omap4:green:chrg"), | ||
266 | }; | ||
267 | |||
260 | static struct led_pwm sdp4430_pwm_leds[] = { | 268 | static struct led_pwm sdp4430_pwm_leds[] = { |
261 | { | 269 | { |
270 | .name = "omap4::keypad", | ||
271 | .max_brightness = 127, | ||
272 | .pwm_period_ns = 7812500, | ||
273 | }, | ||
274 | { | ||
262 | .name = "omap4:green:chrg", | 275 | .name = "omap4:green:chrg", |
263 | .pwm_id = 1, | ||
264 | .max_brightness = 255, | 276 | .max_brightness = 255, |
265 | .pwm_period_ns = 7812500, | 277 | .pwm_period_ns = 7812500, |
266 | }, | 278 | }, |
@@ -279,6 +291,20 @@ static struct platform_device sdp4430_leds_pwm = { | |||
279 | }, | 291 | }, |
280 | }; | 292 | }; |
281 | 293 | ||
294 | static struct platform_pwm_backlight_data sdp4430_backlight_data = { | ||
295 | .max_brightness = 127, | ||
296 | .dft_brightness = 127, | ||
297 | .pwm_period_ns = 7812500, | ||
298 | }; | ||
299 | |||
300 | static struct platform_device sdp4430_backlight_pwm = { | ||
301 | .name = "pwm-backlight", | ||
302 | .id = -1, | ||
303 | .dev = { | ||
304 | .platform_data = &sdp4430_backlight_data, | ||
305 | }, | ||
306 | }; | ||
307 | |||
282 | static int omap_prox_activate(struct device *dev) | 308 | static int omap_prox_activate(struct device *dev) |
283 | { | 309 | { |
284 | gpio_set_value(OMAP4_SFH7741_ENABLE_GPIO , 1); | 310 | gpio_set_value(OMAP4_SFH7741_ENABLE_GPIO , 1); |
@@ -413,6 +439,7 @@ static struct platform_device *sdp4430_devices[] __initdata = { | |||
413 | &sdp4430_gpio_keys_device, | 439 | &sdp4430_gpio_keys_device, |
414 | &sdp4430_leds_gpio, | 440 | &sdp4430_leds_gpio, |
415 | &sdp4430_leds_pwm, | 441 | &sdp4430_leds_pwm, |
442 | &sdp4430_backlight_pwm, | ||
416 | &sdp4430_vbat, | 443 | &sdp4430_vbat, |
417 | &sdp4430_dmic_codec, | 444 | &sdp4430_dmic_codec, |
418 | &sdp4430_abe_audio, | 445 | &sdp4430_abe_audio, |
@@ -709,6 +736,7 @@ static void __init omap_4430sdp_init(void) | |||
709 | ARRAY_SIZE(sdp4430_spi_board_info)); | 736 | ARRAY_SIZE(sdp4430_spi_board_info)); |
710 | } | 737 | } |
711 | 738 | ||
739 | pwm_add_table(sdp4430_pwm_lookup, ARRAY_SIZE(sdp4430_pwm_lookup)); | ||
712 | status = omap4_keyboard_init(&sdp4430_keypad_data, &keypad_data); | 740 | status = omap4_keyboard_init(&sdp4430_keypad_data, &keypad_data); |
713 | if (status) | 741 | if (status) |
714 | pr_err("Keypad initialization failed: %d\n", status); | 742 | 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 52cc2c597314..7d3358b2e593 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_platform_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 3a6ca74709ab..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 | .init_time = omap2_sync32k_timer_init, | ||
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 10054e3c3482..af2bb219e214 100644 --- a/arch/arm/mach-omap2/board-cm-t35.c +++ b/arch/arm/mach-omap2/board-cm-t35.c | |||
@@ -723,7 +723,7 @@ static void __init cm_t3x_common_init(void) | |||
723 | cm_t35_init_ethernet(); | 723 | cm_t35_init_ethernet(); |
724 | cm_t35_init_led(); | 724 | cm_t35_init_led(); |
725 | cm_t35_init_display(); | 725 | cm_t35_init_display(); |
726 | omap_twl4030_audio_init("cm-t3x"); | 726 | omap_twl4030_audio_init("cm-t3x", NULL); |
727 | 727 | ||
728 | usb_bind_phy("musb-hdrc.0.auto", 0, "twl4030_usb"); | 728 | usb_bind_phy("musb-hdrc.0.auto", 0, "twl4030_usb"); |
729 | usb_musb_init(NULL); | 729 | usb_musb_init(NULL); |
diff --git a/arch/arm/mach-omap2/board-cm-t3517.c b/arch/arm/mach-omap2/board-cm-t3517.c index 5e54f565a294..a66da808cc4a 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 4dadb0b7b808..53056c3b0836 100644 --- a/arch/arm/mach-omap2/board-devkit8000.c +++ b/arch/arm/mach-omap2/board-devkit8000.c | |||
@@ -629,7 +629,7 @@ static void __init devkit8000_init(void) | |||
629 | board_nand_init(devkit8000_nand_partitions, | 629 | board_nand_init(devkit8000_nand_partitions, |
630 | ARRAY_SIZE(devkit8000_nand_partitions), NAND_CS, | 630 | ARRAY_SIZE(devkit8000_nand_partitions), NAND_CS, |
631 | NAND_BUSWIDTH_16, NULL); | 631 | NAND_BUSWIDTH_16, NULL); |
632 | omap_twl4030_audio_init("omap3beagle"); | 632 | omap_twl4030_audio_init("omap3beagle", NULL); |
633 | 633 | ||
634 | /* Ensure SDRC pins are mux'd for self-refresh */ | 634 | /* Ensure SDRC pins are mux'd for self-refresh */ |
635 | omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT); | 635 | 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 c10738a067cd..bf92678a01d0 100644 --- a/arch/arm/mach-omap2/board-igep0020.c +++ b/arch/arm/mach-omap2/board-igep0020.c | |||
@@ -301,20 +301,20 @@ static struct omap2_hsmmc_info mmc[] = { | |||
301 | 301 | ||
302 | static struct gpio_led igep_gpio_leds[] = { | 302 | static struct gpio_led igep_gpio_leds[] = { |
303 | [0] = { | 303 | [0] = { |
304 | .name = "gpio-led:red:d0", | 304 | .name = "omap3:red:user0", |
305 | .default_trigger = "default-off" | 305 | .default_state = 0, |
306 | }, | 306 | }, |
307 | [1] = { | 307 | [1] = { |
308 | .name = "gpio-led:green:d0", | 308 | .name = "omap3:green:boot", |
309 | .default_trigger = "default-off", | 309 | .default_state = 1, |
310 | }, | 310 | }, |
311 | [2] = { | 311 | [2] = { |
312 | .name = "gpio-led:red:d1", | 312 | .name = "omap3:red:user1", |
313 | .default_trigger = "default-off", | 313 | .default_state = 0, |
314 | }, | 314 | }, |
315 | [3] = { | 315 | [3] = { |
316 | .name = "gpio-led:green:d1", | 316 | .name = "omap3:green:user1", |
317 | .default_trigger = "heartbeat", | 317 | .default_state = 0, |
318 | .gpio = -EINVAL, /* gets replaced */ | 318 | .gpio = -EINVAL, /* gets replaced */ |
319 | .active_low = 1, | 319 | .active_low = 1, |
320 | }, | 320 | }, |
@@ -631,7 +631,7 @@ static void __init igep_init(void) | |||
631 | 631 | ||
632 | igep_flash_init(); | 632 | igep_flash_init(); |
633 | igep_leds_init(); | 633 | igep_leds_init(); |
634 | omap_twl4030_audio_init("igep2"); | 634 | omap_twl4030_audio_init("igep2", NULL); |
635 | 635 | ||
636 | /* | 636 | /* |
637 | * WLAN-BT combo module from MuRata which has a Marvell WLAN | 637 | * 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 70bc1fc808c8..c3558f93d42c 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> |
@@ -56,6 +58,32 @@ | |||
56 | 58 | ||
57 | #define NAND_CS 0 | 59 | #define NAND_CS 0 |
58 | 60 | ||
61 | static struct pwm_lookup pwm_lookup[] = { | ||
62 | /* LEDB -> PMU_STAT */ | ||
63 | PWM_LOOKUP("twl-pwmled", 1, "leds_pwm", "beagleboard::pmu_stat"), | ||
64 | }; | ||
65 | |||
66 | static struct led_pwm pwm_leds[] = { | ||
67 | { | ||
68 | .name = "beagleboard::pmu_stat", | ||
69 | .max_brightness = 127, | ||
70 | .pwm_period_ns = 7812500, | ||
71 | }, | ||
72 | }; | ||
73 | |||
74 | static struct led_pwm_platform_data pwm_data = { | ||
75 | .num_leds = ARRAY_SIZE(pwm_leds), | ||
76 | .leds = pwm_leds, | ||
77 | }; | ||
78 | |||
79 | static struct platform_device leds_pwm = { | ||
80 | .name = "leds_pwm", | ||
81 | .id = -1, | ||
82 | .dev = { | ||
83 | .platform_data = &pwm_data, | ||
84 | }, | ||
85 | }; | ||
86 | |||
59 | /* | 87 | /* |
60 | * OMAP3 Beagle revision | 88 | * OMAP3 Beagle revision |
61 | * Run time detection of Beagle revision is done by reading GPIO. | 89 | * Run time detection of Beagle revision is done by reading GPIO. |
@@ -293,9 +321,6 @@ static int beagle_twl_gpio_setup(struct device *dev, | |||
293 | gpio_request_one(gpio + TWL4030_GPIO_MAX, beagle_config.usb_pwr_level, | 321 | gpio_request_one(gpio + TWL4030_GPIO_MAX, beagle_config.usb_pwr_level, |
294 | "nEN_USB_PWR"); | 322 | "nEN_USB_PWR"); |
295 | 323 | ||
296 | /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */ | ||
297 | gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1; | ||
298 | |||
299 | return 0; | 324 | return 0; |
300 | } | 325 | } |
301 | 326 | ||
@@ -377,11 +402,6 @@ static struct gpio_led gpio_leds[] = { | |||
377 | .default_trigger = "mmc0", | 402 | .default_trigger = "mmc0", |
378 | .gpio = 149, | 403 | .gpio = 149, |
379 | }, | 404 | }, |
380 | { | ||
381 | .name = "beagleboard::pmu_stat", | ||
382 | .gpio = -EINVAL, /* gets replaced */ | ||
383 | .active_low = true, | ||
384 | }, | ||
385 | }; | 405 | }; |
386 | 406 | ||
387 | static struct gpio_led_platform_data gpio_led_info = { | 407 | static struct gpio_led_platform_data gpio_led_info = { |
@@ -429,6 +449,7 @@ static struct platform_device *omap3_beagle_devices[] __initdata = { | |||
429 | &leds_gpio, | 449 | &leds_gpio, |
430 | &keys_gpio, | 450 | &keys_gpio, |
431 | &madc_hwmon, | 451 | &madc_hwmon, |
452 | &leds_pwm, | ||
432 | }; | 453 | }; |
433 | 454 | ||
434 | static struct usbhs_omap_platform_data usbhs_bdata __initdata = { | 455 | static struct usbhs_omap_platform_data usbhs_bdata __initdata = { |
@@ -526,7 +547,7 @@ static void __init omap3_beagle_init(void) | |||
526 | board_nand_init(omap3beagle_nand_partitions, | 547 | board_nand_init(omap3beagle_nand_partitions, |
527 | ARRAY_SIZE(omap3beagle_nand_partitions), NAND_CS, | 548 | ARRAY_SIZE(omap3beagle_nand_partitions), NAND_CS, |
528 | NAND_BUSWIDTH_16, NULL); | 549 | NAND_BUSWIDTH_16, NULL); |
529 | omap_twl4030_audio_init("omap3beagle"); | 550 | omap_twl4030_audio_init("omap3beagle", NULL); |
530 | 551 | ||
531 | /* Ensure msecure is mux'd to be able to set the RTC. */ | 552 | /* Ensure msecure is mux'd to be able to set the RTC. */ |
532 | omap_mux_init_signal("sys_drm_msecure", OMAP_PIN_OFF_OUTPUT_HIGH); | 553 | omap_mux_init_signal("sys_drm_msecure", OMAP_PIN_OFF_OUTPUT_HIGH); |
@@ -534,6 +555,8 @@ static void __init omap3_beagle_init(void) | |||
534 | /* Ensure SDRC pins are mux'd for self-refresh */ | 555 | /* Ensure SDRC pins are mux'd for self-refresh */ |
535 | omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT); | 556 | omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT); |
536 | omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT); | 557 | omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT); |
558 | |||
559 | pwm_add_table(pwm_lookup, ARRAY_SIZE(pwm_lookup)); | ||
537 | } | 560 | } |
538 | 561 | ||
539 | MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board") | 562 | 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 8258a78c3dfb..48789e0bb915 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c | |||
@@ -746,7 +746,7 @@ static void __init omap3_evm_init(void) | |||
746 | omap3evm_init_smsc911x(); | 746 | omap3evm_init_smsc911x(); |
747 | omap3_evm_display_init(); | 747 | omap3_evm_display_init(); |
748 | omap3_evm_wl12xx_init(); | 748 | omap3_evm_wl12xx_init(); |
749 | omap_twl4030_audio_init("omap3evm"); | 749 | omap_twl4030_audio_init("omap3evm", NULL); |
750 | } | 750 | } |
751 | 751 | ||
752 | MACHINE_START(OMAP3EVM, "OMAP3 EVM") | 752 | MACHINE_START(OMAP3EVM, "OMAP3 EVM") |
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index 1bcf39671c35..86bab51154ee 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c | |||
@@ -508,7 +508,7 @@ static void __init overo_init(void) | |||
508 | overo_display_init(); | 508 | overo_display_init(); |
509 | overo_init_led(); | 509 | overo_init_led(); |
510 | overo_init_keys(); | 510 | overo_init_keys(); |
511 | omap_twl4030_audio_init("overo"); | 511 | omap_twl4030_audio_init("overo", NULL); |
512 | 512 | ||
513 | /* Ensure SDRC pins are mux'd for self-refresh */ | 513 | /* Ensure SDRC pins are mux'd for self-refresh */ |
514 | omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT); | 514 | 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 f3d075baebb6..c26d441ca4fb 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 dc5498b1b3a7..cdc0c1021863 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 | #include <linux/usb/phy.h> | 24 | #include <linux/usb/phy.h> |
24 | 25 | ||
25 | #include <asm/mach-types.h> | 26 | #include <asm/mach-types.h> |
@@ -35,11 +36,9 @@ | |||
35 | #include "common-board-devices.h" | 36 | #include "common-board-devices.h" |
36 | 37 | ||
37 | #define OMAP_ZOOM_WLAN_PMENA_GPIO (101) | 38 | #define OMAP_ZOOM_WLAN_PMENA_GPIO (101) |
38 | #define ZOOM2_HEADSET_EXTMUTE_GPIO (153) | 39 | #define OMAP_ZOOM_TSC2004_IRQ_GPIO (153) |
39 | #define OMAP_ZOOM_WLAN_IRQ_GPIO (162) | 40 | #define OMAP_ZOOM_WLAN_IRQ_GPIO (162) |
40 | 41 | ||
41 | #define LCD_PANEL_ENABLE_GPIO (7 + OMAP_MAX_GPIO_LINES) | ||
42 | |||
43 | /* Zoom2 has Qwerty keyboard*/ | 42 | /* Zoom2 has Qwerty keyboard*/ |
44 | static uint32_t board_keymap[] = { | 43 | static uint32_t board_keymap[] = { |
45 | KEY(0, 0, KEY_E), | 44 | KEY(0, 0, KEY_E), |
@@ -227,22 +226,31 @@ static struct omap2_hsmmc_info mmc[] = { | |||
227 | {} /* Terminator */ | 226 | {} /* Terminator */ |
228 | }; | 227 | }; |
229 | 228 | ||
229 | static struct omap_tw4030_pdata omap_twl4030_audio_data = { | ||
230 | .voice_connected = true, | ||
231 | .custom_routing = true, | ||
232 | |||
233 | .has_hs = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, | ||
234 | .has_hf = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, | ||
235 | |||
236 | .has_mainmic = true, | ||
237 | .has_submic = true, | ||
238 | .has_hsmic = true, | ||
239 | .has_linein = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, | ||
240 | }; | ||
241 | |||
230 | static int zoom_twl_gpio_setup(struct device *dev, | 242 | static int zoom_twl_gpio_setup(struct device *dev, |
231 | unsigned gpio, unsigned ngpio) | 243 | unsigned gpio, unsigned ngpio) |
232 | { | 244 | { |
233 | int ret; | ||
234 | |||
235 | /* gpio + 0 is "mmc0_cd" (input/IRQ) */ | 245 | /* gpio + 0 is "mmc0_cd" (input/IRQ) */ |
236 | mmc[0].gpio_cd = gpio + 0; | 246 | mmc[0].gpio_cd = gpio + 0; |
237 | omap_hsmmc_late_init(mmc); | 247 | omap_hsmmc_late_init(mmc); |
238 | 248 | ||
239 | ret = gpio_request_one(LCD_PANEL_ENABLE_GPIO, GPIOF_OUT_INIT_LOW, | 249 | /* Audio setup */ |
240 | "lcd enable"); | 250 | omap_twl4030_audio_data.jack_detect = gpio + 2; |
241 | if (ret) | 251 | omap_twl4030_audio_init("Zoom2", &omap_twl4030_audio_data); |
242 | pr_err("Failed to get LCD_PANEL_ENABLE_GPIO (gpio%d).\n", | ||
243 | LCD_PANEL_ENABLE_GPIO); | ||
244 | 252 | ||
245 | return ret; | 253 | return 0; |
246 | } | 254 | } |
247 | 255 | ||
248 | static struct twl4030_gpio_platform_data zoom_gpio_data = { | 256 | static struct twl4030_gpio_platform_data zoom_gpio_data = { |
@@ -265,14 +273,9 @@ static int __init omap_i2c_init(void) | |||
265 | TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, | 273 | TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, |
266 | TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); | 274 | TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); |
267 | 275 | ||
268 | if (machine_is_omap_zoom2()) { | 276 | if (machine_is_omap_zoom2()) |
269 | struct twl4030_codec_data *codec_data; | 277 | zoom_twldata.audio->codec->ramp_delay_value = 3; /* 161 ms */ |
270 | codec_data = zoom_twldata.audio->codec; | ||
271 | 278 | ||
272 | codec_data->ramp_delay_value = 3; /* 161 ms */ | ||
273 | codec_data->hs_extmute = 1; | ||
274 | codec_data->hs_extmute_gpio = ZOOM2_HEADSET_EXTMUTE_GPIO; | ||
275 | } | ||
276 | omap_pmic_init(1, 2400, "twl5030", 7 + OMAP_INTC_START, &zoom_twldata); | 279 | omap_pmic_init(1, 2400, "twl5030", 7 + OMAP_INTC_START, &zoom_twldata); |
277 | omap_register_i2c_bus(2, 400, NULL, 0); | 280 | omap_register_i2c_bus(2, 400, NULL, 0); |
278 | omap_register_i2c_bus(3, 400, NULL, 0); | 281 | 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 8d70bd03c5d8..e4b16c8efe8b 100644 --- a/arch/arm/mach-omap2/gpmc.c +++ b/arch/arm/mach-omap2/gpmc.c | |||
@@ -790,9 +790,6 @@ static int gpmc_mem_init(void) | |||
790 | * even if we didn't boot from ROM. | 790 | * even if we didn't boot from ROM. |
791 | */ | 791 | */ |
792 | boot_rom_space = BOOT_ROM_SPACE; | 792 | boot_rom_space = BOOT_ROM_SPACE; |
793 | /* In apollon the CS0 is mapped as 0x0000 0000 */ | ||
794 | if (machine_is_omap_apollon()) | ||
795 | boot_rom_space = 0; | ||
796 | gpmc_mem_root.start = GPMC_MEM_START + boot_rom_space; | 793 | gpmc_mem_root.start = GPMC_MEM_START + boot_rom_space; |
797 | gpmc_mem_root.end = GPMC_MEM_END; | 794 | gpmc_mem_root.end = GPMC_MEM_END; |
798 | 795 | ||
diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c index 6a7aec6d1174..51e138cc5398 100644 --- a/arch/arm/mach-omap2/twl-common.c +++ b/arch/arm/mach-omap2/twl-common.c | |||
@@ -529,24 +529,29 @@ void __init omap4_pmic_get_config(struct twl4030_platform_data *pmic_data, | |||
529 | defined(CONFIG_SND_OMAP_SOC_OMAP_TWL4030_MODULE) | 529 | defined(CONFIG_SND_OMAP_SOC_OMAP_TWL4030_MODULE) |
530 | #include <linux/platform_data/omap-twl4030.h> | 530 | #include <linux/platform_data/omap-twl4030.h> |
531 | 531 | ||
532 | /* Commonly used configuration */ | ||
532 | static struct omap_tw4030_pdata omap_twl4030_audio_data; | 533 | static struct omap_tw4030_pdata omap_twl4030_audio_data; |
533 | 534 | ||
534 | static struct platform_device audio_device = { | 535 | static struct platform_device audio_device = { |
535 | .name = "omap-twl4030", | 536 | .name = "omap-twl4030", |
536 | .id = -1, | 537 | .id = -1, |
537 | .dev = { | ||
538 | .platform_data = &omap_twl4030_audio_data, | ||
539 | }, | ||
540 | }; | 538 | }; |
541 | 539 | ||
542 | void __init omap_twl4030_audio_init(char *card_name) | 540 | void omap_twl4030_audio_init(char *card_name, |
541 | struct omap_tw4030_pdata *pdata) | ||
543 | { | 542 | { |
544 | omap_twl4030_audio_data.card_name = card_name; | 543 | if (!pdata) |
544 | pdata = &omap_twl4030_audio_data; | ||
545 | |||
546 | pdata->card_name = card_name; | ||
547 | |||
548 | audio_device.dev.platform_data = pdata; | ||
545 | platform_device_register(&audio_device); | 549 | platform_device_register(&audio_device); |
546 | } | 550 | } |
547 | 551 | ||
548 | #else /* SOC_OMAP_TWL4030 */ | 552 | #else /* SOC_OMAP_TWL4030 */ |
549 | void __init omap_twl4030_audio_init(char *card_name) | 553 | void omap_twl4030_audio_init(char *card_name, |
554 | struct omap_tw4030_pdata *pdata) | ||
550 | { | 555 | { |
551 | return; | 556 | return; |
552 | } | 557 | } |
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 a29849d181c8..d82a50b4a803 100644 --- a/arch/arm/mach-pxa/palmtreo.c +++ b/arch/arm/mach-pxa/palmtreo.c | |||
@@ -167,7 +167,7 @@ static unsigned long centro685_pin_config[] __initdata = { | |||
167 | /****************************************************************************** | 167 | /****************************************************************************** |
168 | * GPIO keyboard | 168 | * GPIO keyboard |
169 | ******************************************************************************/ | 169 | ******************************************************************************/ |
170 | #if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE) | 170 | #if IS_ENABLED(CONFIG_KEYBOARD_PXA27x) |
171 | static unsigned int treo680_matrix_keys[] = { | 171 | static unsigned int treo680_matrix_keys[] = { |
172 | KEY(0, 0, KEY_F8), /* Red/Off/Power */ | 172 | KEY(0, 0, KEY_F8), /* Red/Off/Power */ |
173 | KEY(0, 1, KEY_LEFT), | 173 | KEY(0, 1, KEY_LEFT), |
@@ -315,7 +315,7 @@ static inline void palmtreo_kpc_init(void) {} | |||
315 | /****************************************************************************** | 315 | /****************************************************************************** |
316 | * USB host | 316 | * USB host |
317 | ******************************************************************************/ | 317 | ******************************************************************************/ |
318 | #if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) | 318 | #if IS_ENABLED(CONFIG_USB_OHCI_HCD) |
319 | static struct pxaohci_platform_data treo680_ohci_info = { | 319 | static struct pxaohci_platform_data treo680_ohci_info = { |
320 | .port_mode = PMM_PERPORT_MODE, | 320 | .port_mode = PMM_PERPORT_MODE, |
321 | .flags = ENABLE_PORT1 | ENABLE_PORT3, | 321 | .flags = ENABLE_PORT1 | ENABLE_PORT3, |
@@ -397,6 +397,36 @@ static void __init palmtreo_leds_init(void) | |||
397 | } | 397 | } |
398 | 398 | ||
399 | /****************************************************************************** | 399 | /****************************************************************************** |
400 | * diskonchip docg4 flash | ||
401 | ******************************************************************************/ | ||
402 | #if defined(CONFIG_MACH_TREO680) | ||
403 | /* REVISIT: does the centro have this device also? */ | ||
404 | #if IS_ENABLED(CONFIG_MTD_NAND_DOCG4) | ||
405 | static struct resource docg4_resources[] = { | ||
406 | { | ||
407 | .start = 0x00000000, | ||
408 | .end = 0x00001FFF, | ||
409 | .flags = IORESOURCE_MEM, | ||
410 | }, | ||
411 | }; | ||
412 | |||
413 | static struct platform_device treo680_docg4_flash = { | ||
414 | .name = "docg4", | ||
415 | .id = -1, | ||
416 | .resource = docg4_resources, | ||
417 | .num_resources = ARRAY_SIZE(docg4_resources), | ||
418 | }; | ||
419 | |||
420 | static void __init treo680_docg4_flash_init(void) | ||
421 | { | ||
422 | platform_device_register(&treo680_docg4_flash); | ||
423 | } | ||
424 | #else | ||
425 | static inline void treo680_docg4_flash_init(void) {} | ||
426 | #endif | ||
427 | #endif | ||
428 | |||
429 | /****************************************************************************** | ||
400 | * Machine init | 430 | * Machine init |
401 | ******************************************************************************/ | 431 | ******************************************************************************/ |
402 | static void __init treo_reserve(void) | 432 | static void __init treo_reserve(void) |
@@ -480,6 +510,7 @@ static void __init treo680_init(void) | |||
480 | treo680_gpio_init(); | 510 | treo680_gpio_init(); |
481 | palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, GPIO_NR_TREO680_SD_READONLY, | 511 | palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, GPIO_NR_TREO680_SD_READONLY, |
482 | GPIO_NR_TREO680_SD_POWER, 0); | 512 | GPIO_NR_TREO680_SD_POWER, 0); |
513 | treo680_docg4_flash_init(); | ||
483 | } | 514 | } |
484 | #endif | 515 | #endif |
485 | 516 | ||
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index 69985b06c0da..3203a9f5b4a2 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c | |||
@@ -238,6 +238,7 @@ static struct clk_lookup pxa27x_clkregs[] = { | |||
238 | INIT_CLKREG(&clk_pxa27x_memc, NULL, "MEMCLK"), | 238 | INIT_CLKREG(&clk_pxa27x_memc, NULL, "MEMCLK"), |
239 | INIT_CLKREG(&clk_pxa27x_mem, "pxa2xx-pcmcia", NULL), | 239 | INIT_CLKREG(&clk_pxa27x_mem, "pxa2xx-pcmcia", NULL), |
240 | INIT_CLKREG(&clk_dummy, "pxa-gpio", NULL), | 240 | INIT_CLKREG(&clk_dummy, "pxa-gpio", NULL), |
241 | INIT_CLKREG(&clk_dummy, "sa1100-rtc", NULL), | ||
241 | }; | 242 | }; |
242 | 243 | ||
243 | #ifdef CONFIG_PM | 244 | #ifdef CONFIG_PM |
diff --git a/arch/arm/mach-shmobile/board-ag5evm.c b/arch/arm/mach-shmobile/board-ag5evm.c index 705bc63c7984..8ff53a19c48c 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 2928cd686808..38f1259a0daf 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 | /* |
@@ -1036,9 +1040,7 @@ static int ts_get_pendown_state(void) | |||
1036 | 1040 | ||
1037 | gpio_free(GPIO_TSC_IRQ); | 1041 | gpio_free(GPIO_TSC_IRQ); |
1038 | 1042 | ||
1039 | gpio_request(GPIO_TSC_PORT, NULL); | 1043 | gpio_request_one(GPIO_TSC_PORT, GPIOF_IN, NULL); |
1040 | |||
1041 | gpio_direction_input(GPIO_TSC_PORT); | ||
1042 | 1044 | ||
1043 | val = gpio_get_value(GPIO_TSC_PORT); | 1045 | val = gpio_get_value(GPIO_TSC_PORT); |
1044 | 1046 | ||
@@ -1119,18 +1121,10 @@ static void __init ap4evb_init(void) | |||
1119 | gpio_request(GPIO_FN_IRQ6_39, NULL); | 1121 | gpio_request(GPIO_FN_IRQ6_39, NULL); |
1120 | 1122 | ||
1121 | /* enable Debug switch (S6) */ | 1123 | /* enable Debug switch (S6) */ |
1122 | gpio_request(GPIO_PORT32, NULL); | 1124 | gpio_request_one(GPIO_PORT32, GPIOF_IN | GPIOF_EXPORT, NULL); |
1123 | gpio_request(GPIO_PORT33, NULL); | 1125 | gpio_request_one(GPIO_PORT33, GPIOF_IN | GPIOF_EXPORT, NULL); |
1124 | gpio_request(GPIO_PORT34, NULL); | 1126 | gpio_request_one(GPIO_PORT34, GPIOF_IN | GPIOF_EXPORT, NULL); |
1125 | gpio_request(GPIO_PORT35, NULL); | 1127 | gpio_request_one(GPIO_PORT35, GPIOF_IN | GPIOF_EXPORT, NULL); |
1126 | gpio_direction_input(GPIO_PORT32); | ||
1127 | gpio_direction_input(GPIO_PORT33); | ||
1128 | gpio_direction_input(GPIO_PORT34); | ||
1129 | gpio_direction_input(GPIO_PORT35); | ||
1130 | gpio_export(GPIO_PORT32, 0); | ||
1131 | gpio_export(GPIO_PORT33, 0); | ||
1132 | gpio_export(GPIO_PORT34, 0); | ||
1133 | gpio_export(GPIO_PORT35, 0); | ||
1134 | 1128 | ||
1135 | /* SDHI0 */ | 1129 | /* SDHI0 */ |
1136 | gpio_request(GPIO_FN_SDHICD0, NULL); | 1130 | gpio_request(GPIO_FN_SDHICD0, NULL); |
@@ -1178,8 +1172,7 @@ static void __init ap4evb_init(void) | |||
1178 | gpio_request(GPIO_FN_FSIAILR, NULL); | 1172 | gpio_request(GPIO_FN_FSIAILR, NULL); |
1179 | gpio_request(GPIO_FN_FSIAISLD, NULL); | 1173 | gpio_request(GPIO_FN_FSIAISLD, NULL); |
1180 | gpio_request(GPIO_FN_FSIAOSLD, NULL); | 1174 | gpio_request(GPIO_FN_FSIAOSLD, NULL); |
1181 | gpio_request(GPIO_PORT161, NULL); | 1175 | gpio_request_one(GPIO_PORT161, GPIOF_OUT_INIT_LOW, NULL); /* slave */ |
1182 | gpio_direction_output(GPIO_PORT161, 0); /* slave */ | ||
1183 | 1176 | ||
1184 | gpio_request(GPIO_PORT9, NULL); | 1177 | gpio_request(GPIO_PORT9, NULL); |
1185 | gpio_request(GPIO_PORT10, NULL); | 1178 | gpio_request(GPIO_PORT10, NULL); |
@@ -1187,8 +1180,7 @@ static void __init ap4evb_init(void) | |||
1187 | gpio_direction_none(GPIO_PORT10CR); /* FSIAOLR needs no direction */ | 1180 | gpio_direction_none(GPIO_PORT10CR); /* FSIAOLR needs no direction */ |
1188 | 1181 | ||
1189 | /* card detect pin for MMC slot (CN7) */ | 1182 | /* card detect pin for MMC slot (CN7) */ |
1190 | gpio_request(GPIO_PORT41, NULL); | 1183 | gpio_request_one(GPIO_PORT41, GPIOF_IN, NULL); |
1191 | gpio_direction_input(GPIO_PORT41); | ||
1192 | 1184 | ||
1193 | /* setup FSI2 port B (HDMI) */ | 1185 | /* setup FSI2 port B (HDMI) */ |
1194 | gpio_request(GPIO_FN_FSIBCK, NULL); | 1186 | gpio_request(GPIO_FN_FSIBCK, NULL); |
@@ -1276,11 +1268,8 @@ static void __init ap4evb_init(void) | |||
1276 | gpio_request(GPIO_FN_LCDDISP, NULL); | 1268 | gpio_request(GPIO_FN_LCDDISP, NULL); |
1277 | gpio_request(GPIO_FN_LCDDCK, NULL); | 1269 | gpio_request(GPIO_FN_LCDDCK, NULL); |
1278 | 1270 | ||
1279 | gpio_request(GPIO_PORT189, NULL); /* backlight */ | 1271 | gpio_request_one(GPIO_PORT189, GPIOF_OUT_INIT_HIGH, NULL); /* backlight */ |
1280 | gpio_direction_output(GPIO_PORT189, 1); | 1272 | gpio_request_one(GPIO_PORT151, GPIOF_OUT_INIT_HIGH, NULL); /* LCDDON */ |
1281 | |||
1282 | gpio_request(GPIO_PORT151, NULL); /* LCDDON */ | ||
1283 | gpio_direction_output(GPIO_PORT151, 1); | ||
1284 | 1273 | ||
1285 | lcdc_info.clock_source = LCDC_CLK_BUS; | 1274 | lcdc_info.clock_source = LCDC_CLK_BUS; |
1286 | lcdc_info.ch[0].interface_type = RGB18; | 1275 | 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 81d91fda2d90..f2ec0777cfbe 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) |
@@ -1189,6 +1181,9 @@ static void __init eva_earlytimer_init(void) | |||
1189 | { | 1181 | { |
1190 | r8a7740_clock_init(MD_CK0 | MD_CK2); | 1182 | r8a7740_clock_init(MD_CK0 | MD_CK2); |
1191 | shmobile_earlytimer_init(); | 1183 | shmobile_earlytimer_init(); |
1184 | |||
1185 | /* the rate of extal1 clock must be set before late_time_init */ | ||
1186 | eva_clock_init(); | ||
1192 | } | 1187 | } |
1193 | 1188 | ||
1194 | static void __init eva_add_early_devices(void) | 1189 | 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 331b7ce4edd8..e50f86691539 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 d759a9c2b9e8..2ccc860403ef 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 3efff2e7b1e7..7f3a6b7e7b7c 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 e2fafca9432b..db968a585ff0 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 */ |
@@ -1404,11 +1402,10 @@ static void __init mackerel_init(void) | |||
1404 | gpio_request(GPIO_FN_LCDDISP, NULL); | 1402 | gpio_request(GPIO_FN_LCDDISP, NULL); |
1405 | gpio_request(GPIO_FN_LCDDCK, NULL); | 1403 | gpio_request(GPIO_FN_LCDDCK, NULL); |
1406 | 1404 | ||
1407 | gpio_request(GPIO_PORT31, NULL); /* backlight */ | 1405 | /* backlight, off by default */ |
1408 | gpio_direction_output(GPIO_PORT31, 0); /* off by default */ | 1406 | gpio_request_one(GPIO_PORT31, GPIOF_OUT_INIT_LOW, NULL); |
1409 | 1407 | ||
1410 | gpio_request(GPIO_PORT151, NULL); /* LCDDON */ | 1408 | gpio_request_one(GPIO_PORT151, GPIOF_OUT_INIT_HIGH, NULL); /* LCDDON */ |
1411 | gpio_direction_output(GPIO_PORT151, 1); | ||
1412 | 1409 | ||
1413 | /* USBHS0 */ | 1410 | /* USBHS0 */ |
1414 | gpio_request(GPIO_FN_VBUS0_0, NULL); | 1411 | gpio_request(GPIO_FN_VBUS0_0, NULL); |
@@ -1424,8 +1421,7 @@ static void __init mackerel_init(void) | |||
1424 | gpio_request(GPIO_FN_FSIAILR, NULL); | 1421 | gpio_request(GPIO_FN_FSIAILR, NULL); |
1425 | gpio_request(GPIO_FN_FSIAISLD, NULL); | 1422 | gpio_request(GPIO_FN_FSIAISLD, NULL); |
1426 | gpio_request(GPIO_FN_FSIAOSLD, NULL); | 1423 | gpio_request(GPIO_FN_FSIAOSLD, NULL); |
1427 | gpio_request(GPIO_PORT161, NULL); | 1424 | gpio_request_one(GPIO_PORT161, GPIOF_OUT_INIT_LOW, NULL); /* slave */ |
1428 | gpio_direction_output(GPIO_PORT161, 0); /* slave */ | ||
1429 | 1425 | ||
1430 | gpio_request(GPIO_PORT9, NULL); | 1426 | gpio_request(GPIO_PORT9, NULL); |
1431 | gpio_request(GPIO_PORT10, NULL); | 1427 | gpio_request(GPIO_PORT10, NULL); |
@@ -1479,8 +1475,7 @@ static void __init mackerel_init(void) | |||
1479 | gpio_request(GPIO_FN_SDHID1_0, NULL); | 1475 | gpio_request(GPIO_FN_SDHID1_0, NULL); |
1480 | #endif | 1476 | #endif |
1481 | /* card detect pin for MMC slot (CN7) */ | 1477 | /* card detect pin for MMC slot (CN7) */ |
1482 | gpio_request(GPIO_PORT41, NULL); | 1478 | gpio_request_one(GPIO_PORT41, GPIOF_IN, NULL); |
1483 | gpio_direction_input(GPIO_PORT41); | ||
1484 | 1479 | ||
1485 | /* enable SDHI2 */ | 1480 | /* enable SDHI2 */ |
1486 | gpio_request(GPIO_FN_SDHICMD2, NULL); | 1481 | gpio_request(GPIO_FN_SDHICMD2, NULL); |
@@ -1491,8 +1486,7 @@ static void __init mackerel_init(void) | |||
1491 | gpio_request(GPIO_FN_SDHID2_0, NULL); | 1486 | gpio_request(GPIO_FN_SDHID2_0, NULL); |
1492 | 1487 | ||
1493 | /* card detect pin for microSD slot (CN23) */ | 1488 | /* card detect pin for microSD slot (CN23) */ |
1494 | gpio_request(GPIO_PORT162, NULL); | 1489 | gpio_request_one(GPIO_PORT162, GPIOF_IN, NULL); |
1495 | gpio_direction_input(GPIO_PORT162); | ||
1496 | 1490 | ||
1497 | /* MMCIF */ | 1491 | /* MMCIF */ |
1498 | gpio_request(GPIO_FN_MMCD0_0, NULL); | 1492 | gpio_request(GPIO_FN_MMCD0_0, NULL); |
diff --git a/drivers/video/omap2/displays/panel-generic-dpi.c b/drivers/video/omap2/displays/panel-generic-dpi.c index 54ca8ae21078..c904f42d81c1 100644 --- a/drivers/video/omap2/displays/panel-generic-dpi.c +++ b/drivers/video/omap2/displays/panel-generic-dpi.c | |||
@@ -291,30 +291,6 @@ static struct panel_config generic_dpi_panels[] = { | |||
291 | .name = "h4", | 291 | .name = "h4", |
292 | }, | 292 | }, |
293 | 293 | ||
294 | /* Unknown panel used in Samsung OMAP2 Apollon */ | ||
295 | { | ||
296 | { | ||
297 | .x_res = 480, | ||
298 | .y_res = 272, | ||
299 | |||
300 | .pixel_clock = 6250, | ||
301 | |||
302 | .hsw = 41, | ||
303 | .hfp = 2, | ||
304 | .hbp = 2, | ||
305 | |||
306 | .vsw = 10, | ||
307 | .vfp = 2, | ||
308 | .vbp = 2, | ||
309 | |||
310 | .vsync_level = OMAPDSS_SIG_ACTIVE_LOW, | ||
311 | .hsync_level = OMAPDSS_SIG_ACTIVE_LOW, | ||
312 | .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE, | ||
313 | .de_level = OMAPDSS_SIG_ACTIVE_HIGH, | ||
314 | .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES, | ||
315 | }, | ||
316 | .name = "apollon", | ||
317 | }, | ||
318 | /* FocalTech ETM070003DH6 */ | 294 | /* FocalTech ETM070003DH6 */ |
319 | { | 295 | { |
320 | { | 296 | { |