diff options
author | Otavio Salvador <otavio@ossystems.com.br> | 2012-11-28 12:37:29 -0200 |
---|---|---|
committer | Otavio Salvador <otavio@ossystems.com.br> | 2012-11-30 16:36:35 -0200 |
commit | a3227c59eb8b4ddb39b9587ef3f82b954f25de96 (patch) | |
tree | d696c29c4ddcb47ef4a8b026d6b68454a9e4d5fb | |
parent | faeeea9f6e8a9cdaaae4777feebfeda4e75c8f8b (diff) | |
download | meta-fsl-arm-a3227c59eb8b4ddb39b9587ef3f82b954f25de96.tar.gz |
linux-imx (3.0.35): Add Boundary Devices changes for imx6qsabrelite
We import the changes done in Bondary Devices tree and the defconfig
file provided by them.
Change-Id: I63e2d7560735586581fd13d5df60b3d5e90d73a3
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
3 files changed, 7178 insertions, 1 deletions
diff --git a/recipes-kernel/linux/linux-imx-3.0.35/imx6qsabrelite/defconfig b/recipes-kernel/linux/linux-imx-3.0.35/imx6qsabrelite/defconfig new file mode 100644 index 0000000..4118cba --- /dev/null +++ b/recipes-kernel/linux/linux-imx-3.0.35/imx6qsabrelite/defconfig | |||
@@ -0,0 +1,272 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | ||
2 | CONFIG_SYSVIPC=y | ||
3 | CONFIG_IKCONFIG=y | ||
4 | CONFIG_IKCONFIG_PROC=y | ||
5 | CONFIG_LOG_BUF_SHIFT=14 | ||
6 | CONFIG_BLK_DEV_INITRD=y | ||
7 | CONFIG_EMBEDDED=y | ||
8 | CONFIG_PERF_EVENTS=y | ||
9 | CONFIG_MODULES=y | ||
10 | CONFIG_MODULE_UNLOAD=y | ||
11 | CONFIG_MODULE_FORCE_UNLOAD=y | ||
12 | CONFIG_MODVERSIONS=y | ||
13 | # CONFIG_BLK_DEV_BSG is not set | ||
14 | CONFIG_ARCH_MXC=y | ||
15 | CONFIG_GPIO_PCA953X=y | ||
16 | CONFIG_ARCH_MX6=y | ||
17 | CONFIG_FORCE_MAX_ZONEORDER=14 | ||
18 | CONFIG_MACH_MX6Q_SABRELITE=y | ||
19 | CONFIG_IMX_PCIE=y | ||
20 | CONFIG_USB_EHCI_ARC_H1=y | ||
21 | CONFIG_MXC_PWM=y | ||
22 | CONFIG_MXC_REBOOT_MFGMODE=y | ||
23 | CONFIG_CLK_DEBUG=y | ||
24 | CONFIG_DMA_ZONE_SIZE=184 | ||
25 | # CONFIG_SWP_EMULATE is not set | ||
26 | CONFIG_ARM_ERRATA_743622=y | ||
27 | CONFIG_ARM_ERRATA_751472=y | ||
28 | CONFIG_ARM_ERRATA_754322=y | ||
29 | CONFIG_ARM_ERRATA_764369=y | ||
30 | CONFIG_NO_HZ=y | ||
31 | CONFIG_HIGH_RES_TIMERS=y | ||
32 | CONFIG_SMP=y | ||
33 | CONFIG_VMSPLIT_2G=y | ||
34 | CONFIG_PREEMPT=y | ||
35 | CONFIG_AEABI=y | ||
36 | # CONFIG_OABI_COMPAT is not set | ||
37 | CONFIG_HIGHMEM=y | ||
38 | CONFIG_COMPACTION=y | ||
39 | CONFIG_KSM=y | ||
40 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
41 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
42 | CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw rootfstype=jffs2 ip=off" | ||
43 | CONFIG_CPU_FREQ=y | ||
44 | CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y | ||
45 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | ||
46 | CONFIG_CPU_FREQ_GOV_POWERSAVE=y | ||
47 | CONFIG_CPU_FREQ_GOV_USERSPACE=y | ||
48 | CONFIG_CPU_FREQ_GOV_ONDEMAND=y | ||
49 | CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y | ||
50 | CONFIG_CPU_FREQ_IMX=y | ||
51 | CONFIG_VFP=y | ||
52 | CONFIG_NEON=y | ||
53 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
54 | CONFIG_SUSPEND_DEVICE_TIME_DEBUG=y | ||
55 | CONFIG_PM_RUNTIME=y | ||
56 | CONFIG_PM_DEBUG=y | ||
57 | CONFIG_APM_EMULATION=y | ||
58 | CONFIG_NET=y | ||
59 | CONFIG_PACKET=y | ||
60 | CONFIG_UNIX=y | ||
61 | CONFIG_INET=y | ||
62 | CONFIG_IP_MULTICAST=y | ||
63 | CONFIG_IP_PNP=y | ||
64 | CONFIG_IP_PNP_DHCP=y | ||
65 | CONFIG_IP_PNP_BOOTP=y | ||
66 | # CONFIG_INET_LRO is not set | ||
67 | # CONFIG_IPV6 is not set | ||
68 | CONFIG_LLC2=y | ||
69 | CONFIG_CAN=y | ||
70 | CONFIG_CAN_RAW=y | ||
71 | CONFIG_CAN_BCM=y | ||
72 | CONFIG_CAN_VCAN=y | ||
73 | CONFIG_CAN_FLEXCAN=y | ||
74 | CONFIG_BT=y | ||
75 | CONFIG_BT_L2CAP=y | ||
76 | CONFIG_BT_SCO=y | ||
77 | CONFIG_BT_RFCOMM=y | ||
78 | CONFIG_BT_RFCOMM_TTY=y | ||
79 | CONFIG_BT_BNEP=y | ||
80 | CONFIG_BT_BNEP_MC_FILTER=y | ||
81 | CONFIG_BT_BNEP_PROTO_FILTER=y | ||
82 | CONFIG_BT_HIDP=y | ||
83 | CONFIG_BT_HCIUART=y | ||
84 | CONFIG_BT_HCIUART_LL=y | ||
85 | CONFIG_CFG80211=y | ||
86 | CONFIG_MAC80211=y | ||
87 | CONFIG_RFKILL=y | ||
88 | CONFIG_RFKILL_INPUT=y | ||
89 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
90 | CONFIG_CONNECTOR=y | ||
91 | CONFIG_MTD=y | ||
92 | CONFIG_MTD_CMDLINE_PARTS=y | ||
93 | CONFIG_MTD_CHAR=y | ||
94 | CONFIG_MTD_BLOCK=y | ||
95 | CONFIG_MTD_M25P80=y | ||
96 | CONFIG_MTD_NAND=y | ||
97 | CONFIG_MTD_UBI=y | ||
98 | CONFIG_BLK_DEV_LOOP=y | ||
99 | CONFIG_MISC_DEVICES=y | ||
100 | CONFIG_MXS_PERFMON=m | ||
101 | CONFIG_BLK_DEV_SD=y | ||
102 | CONFIG_SCSI_MULTI_LUN=y | ||
103 | CONFIG_ATA=y | ||
104 | # CONFIG_SATA_PMP is not set | ||
105 | CONFIG_SATA_AHCI_PLATFORM=y | ||
106 | CONFIG_NETDEVICES=y | ||
107 | CONFIG_TUN=y | ||
108 | CONFIG_MII=y | ||
109 | CONFIG_MICREL_PHY=y | ||
110 | CONFIG_NET_ETHERNET=y | ||
111 | # CONFIG_NETDEV_1000 is not set | ||
112 | # CONFIG_NETDEV_10000 is not set | ||
113 | CONFIG_HOSTAP=y | ||
114 | CONFIG_WL12XX_MENU=y | ||
115 | CONFIG_WL12XX=y | ||
116 | CONFIG_WL12XX_SDIO=m | ||
117 | CONFIG_INPUT_POLLDEV=y | ||
118 | CONFIG_INPUT_EVDEV=y | ||
119 | CONFIG_KEYBOARD_GPIO=y | ||
120 | # CONFIG_INPUT_MOUSE is not set | ||
121 | CONFIG_INPUT_TOUCHSCREEN=y | ||
122 | CONFIG_TOUCHSCREEN_EGALAX=y | ||
123 | CONFIG_TOUCHSCREEN_FT5X06=y | ||
124 | CONFIG_TOUCHSCREEN_FT5X06_SINGLE_TOUCH=y | ||
125 | CONFIG_TOUCHSCREEN_TSC2004=y | ||
126 | CONFIG_INPUT_MISC=y | ||
127 | CONFIG_INPUT_UINPUT=y | ||
128 | CONFIG_INPUT_ISL29023=y | ||
129 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
130 | CONFIG_SERIAL_IMX=y | ||
131 | CONFIG_SERIAL_IMX_CONSOLE=y | ||
132 | CONFIG_FSL_OTP=y | ||
133 | CONFIG_HW_RANDOM=y | ||
134 | CONFIG_MXS_VIIM=y | ||
135 | CONFIG_I2C_CHARDEV=y | ||
136 | CONFIG_I2C_IMX=y | ||
137 | CONFIG_SPI=y | ||
138 | CONFIG_SPI_IMX=y | ||
139 | CONFIG_GPIO_SYSFS=y | ||
140 | CONFIG_SENSORS_MAX17135=y | ||
141 | CONFIG_SENSORS_MAG3110=y | ||
142 | # CONFIG_MXC_MMA8450 is not set | ||
143 | CONFIG_WATCHDOG=y | ||
144 | CONFIG_WATCHDOG_NOWAYOUT=y | ||
145 | CONFIG_IMX2_WDT=y | ||
146 | CONFIG_MFD_WM8994=y | ||
147 | CONFIG_MFD_PFUZE=y | ||
148 | CONFIG_MFD_MAX17135=y | ||
149 | CONFIG_REGULATOR=y | ||
150 | CONFIG_REGULATOR_FIXED_VOLTAGE=y | ||
151 | CONFIG_REGULATOR_PFUZE100=y | ||
152 | CONFIG_REGULATOR_MAX17135=y | ||
153 | CONFIG_MEDIA_SUPPORT=y | ||
154 | CONFIG_VIDEO_DEV=y | ||
155 | # CONFIG_RC_CORE is not set | ||
156 | # CONFIG_MEDIA_TUNER_CUSTOMISE is not set | ||
157 | CONFIG_VIDEO_MXC_CAMERA=m | ||
158 | CONFIG_MXC_CAMERA_OV3640=m | ||
159 | CONFIG_MXC_CAMERA_OV5640=m | ||
160 | CONFIG_MXC_CAMERA_OV8820_MIPI=m | ||
161 | CONFIG_MXC_CAMERA_OV5642=m | ||
162 | CONFIG_MXC_CAMERA_OV5640_MIPI=m | ||
163 | CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m | ||
164 | CONFIG_USB_VIDEO_CLASS=m | ||
165 | # CONFIG_RADIO_ADAPTERS is not set | ||
166 | CONFIG_DRM=m | ||
167 | CONFIG_DRM_VIVANTE=m | ||
168 | CONFIG_FB=y | ||
169 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
170 | # CONFIG_LCD_CLASS_DEVICE is not set | ||
171 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||
172 | # CONFIG_BACKLIGHT_GENERIC is not set | ||
173 | CONFIG_BACKLIGHT_PWM=y | ||
174 | CONFIG_FB_MXC_LDB=y | ||
175 | CONFIG_FB_MXC_MIPI_DSI=y | ||
176 | CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y | ||
177 | CONFIG_FB_MXC_HDMI=y | ||
178 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
179 | CONFIG_FONTS=y | ||
180 | CONFIG_FONT_8x16=y | ||
181 | CONFIG_LOGO=y | ||
182 | CONFIG_SOUND=y | ||
183 | CONFIG_SND=y | ||
184 | CONFIG_SND_USB_AUDIO=y | ||
185 | CONFIG_SND_SOC=y | ||
186 | CONFIG_SND_IMX_SOC=y | ||
187 | CONFIG_SND_SOC_IMX_SGTL5000=y | ||
188 | CONFIG_SND_SOC_IMX_SPDIF=y | ||
189 | CONFIG_SND_SOC_IMX_HDMI=y | ||
190 | CONFIG_HIDRAW=y | ||
191 | CONFIG_HID_QUANTA=y | ||
192 | CONFIG_HID_SAMSUNG=m | ||
193 | CONFIG_HID_SONY=m | ||
194 | CONFIG_HID_SUNPLUS=m | ||
195 | CONFIG_USB=y | ||
196 | CONFIG_USB_DEVICEFS=y | ||
197 | # CONFIG_USB_DEVICE_CLASS is not set | ||
198 | CONFIG_USB_SUSPEND=y | ||
199 | # CONFIG_USB_OTG_WHITELIST is not set | ||
200 | CONFIG_USB_EHCI_HCD=y | ||
201 | CONFIG_USB_EHCI_ARC=y | ||
202 | CONFIG_USB_EHCI_ROOT_HUB_TT=y | ||
203 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | ||
204 | CONFIG_USB_ACM=y | ||
205 | CONFIG_USB_STORAGE=y | ||
206 | CONFIG_USB_SERIAL=y | ||
207 | CONFIG_USB_SERIAL_QUALCOMM=y | ||
208 | CONFIG_USB_SERIAL_OPTION=y | ||
209 | CONFIG_USB_GADGET=y | ||
210 | CONFIG_USB_FILE_STORAGE=m | ||
211 | CONFIG_USB_G_SERIAL=m | ||
212 | CONFIG_MXC_OTG=y | ||
213 | CONFIG_MMC=y | ||
214 | CONFIG_MMC_UNSAFE_RESUME=y | ||
215 | CONFIG_MMC_SDHCI=y | ||
216 | CONFIG_MMC_SDHCI_PLTFM=y | ||
217 | CONFIG_MMC_SDHCI_ESDHC_IMX=y | ||
218 | CONFIG_NEW_LEDS=y | ||
219 | CONFIG_LEDS_CLASS=y | ||
220 | CONFIG_LEDS_GPIO=y | ||
221 | CONFIG_LEDS_TRIGGERS=y | ||
222 | CONFIG_LEDS_TRIGGER_GPIO=y | ||
223 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y | ||
224 | CONFIG_RTC_CLASS=y | ||
225 | CONFIG_RTC_INTF_DEV_UIE_EMUL=y | ||
226 | CONFIG_RTC_DRV_SNVS=y | ||
227 | CONFIG_DMADEVICES=y | ||
228 | CONFIG_MXC_PXP_V2=y | ||
229 | CONFIG_IMX_SDMA=y | ||
230 | CONFIG_MXC_IPU=y | ||
231 | # CONFIG_MXC_HMP4E is not set | ||
232 | # CONFIG_MXC_HWEVENT is not set | ||
233 | CONFIG_MXC_ASRC=y | ||
234 | CONFIG_MXC_GPU_VIV=y | ||
235 | CONFIG_MXC_MIPI_CSI2=y | ||
236 | CONFIG_EXT2_FS=y | ||
237 | CONFIG_EXT3_FS=y | ||
238 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
239 | CONFIG_EXT4_FS=y | ||
240 | CONFIG_AUTOFS4_FS=y | ||
241 | CONFIG_MSDOS_FS=y | ||
242 | CONFIG_VFAT_FS=y | ||
243 | CONFIG_TMPFS=y | ||
244 | CONFIG_JFFS2_FS=y | ||
245 | CONFIG_UBIFS_FS=y | ||
246 | CONFIG_CRAMFS=y | ||
247 | CONFIG_NFS_FS=y | ||
248 | CONFIG_NFS_V3=y | ||
249 | CONFIG_ROOT_NFS=y | ||
250 | CONFIG_PARTITION_ADVANCED=y | ||
251 | CONFIG_EFI_PARTITION=y | ||
252 | CONFIG_NLS_CODEPAGE_437=y | ||
253 | CONFIG_NLS_ASCII=m | ||
254 | CONFIG_NLS_ISO8859_1=y | ||
255 | CONFIG_NLS_UTF8=m | ||
256 | CONFIG_MAGIC_SYSRQ=y | ||
257 | CONFIG_DEBUG_FS=y | ||
258 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
259 | # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set | ||
260 | CONFIG_CRYPTO_TEST=m | ||
261 | CONFIG_CRYPTO_CCM=y | ||
262 | CONFIG_CRYPTO_GCM=y | ||
263 | CONFIG_CRYPTO_CBC=y | ||
264 | CONFIG_CRYPTO_CTS=y | ||
265 | CONFIG_CRYPTO_LRW=y | ||
266 | CONFIG_CRYPTO_PCBC=y | ||
267 | CONFIG_CRYPTO_XTS=y | ||
268 | CONFIG_CRYPTO_DES=y | ||
269 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
270 | CONFIG_CRYPTO_DEV_FSL_CAAM=y | ||
271 | # CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API is not set | ||
272 | CONFIG_CRC_CCITT=m | ||
diff --git a/recipes-kernel/linux/linux-imx-3.0.35/imx6qsabrelite/sync-boundary-changes.patch b/recipes-kernel/linux/linux-imx-3.0.35/imx6qsabrelite/sync-boundary-changes.patch new file mode 100644 index 0000000..5f22380 --- /dev/null +++ b/recipes-kernel/linux/linux-imx-3.0.35/imx6qsabrelite/sync-boundary-changes.patch | |||
@@ -0,0 +1,6903 @@ | |||
1 | diff --git a/Documentation/devicetree/bindings/net/can/fsl-flexcan.txt b/Documentation/devicetree/bindings/net/can/fsl-flexcan.txt | ||
2 | old mode 100755 | ||
3 | new mode 100644 | ||
4 | diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig | ||
5 | old mode 100755 | ||
6 | new mode 100644 | ||
7 | diff --git a/arch/arm/configs/imx5_defconfig b/arch/arm/configs/imx5_defconfig | ||
8 | old mode 100755 | ||
9 | new mode 100644 | ||
10 | diff --git a/arch/arm/configs/nitrogen6x_defconfig b/arch/arm/configs/nitrogen6x_defconfig | ||
11 | new file mode 100644 | ||
12 | index 0000000..35e4cc3 | ||
13 | --- /dev/null | ||
14 | +++ b/arch/arm/configs/nitrogen6x_defconfig | ||
15 | @@ -0,0 +1,3020 @@ | ||
16 | +# | ||
17 | +# Automatically generated make config: don't edit | ||
18 | +# Linux/arm 3.0.35 Kernel Configuration | ||
19 | +# | ||
20 | +CONFIG_ARM=y | ||
21 | +CONFIG_HAVE_PWM=y | ||
22 | +CONFIG_SYS_SUPPORTS_APM_EMULATION=y | ||
23 | +CONFIG_HAVE_SCHED_CLOCK=y | ||
24 | +CONFIG_GENERIC_GPIO=y | ||
25 | +# CONFIG_ARCH_USES_GETTIMEOFFSET is not set | ||
26 | +CONFIG_GENERIC_CLOCKEVENTS=y | ||
27 | +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y | ||
28 | +CONFIG_KTIME_SCALAR=y | ||
29 | +CONFIG_HAVE_PROC_CPU=y | ||
30 | +CONFIG_STACKTRACE_SUPPORT=y | ||
31 | +CONFIG_LOCKDEP_SUPPORT=y | ||
32 | +CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
33 | +CONFIG_HARDIRQS_SW_RESEND=y | ||
34 | +CONFIG_GENERIC_IRQ_PROBE=y | ||
35 | +CONFIG_GENERIC_LOCKBREAK=y | ||
36 | +CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
37 | +CONFIG_ARCH_HAS_CPUFREQ=y | ||
38 | +CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | ||
39 | +CONFIG_GENERIC_HWEIGHT=y | ||
40 | +CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
41 | +CONFIG_ZONE_DMA=y | ||
42 | +CONFIG_NEED_DMA_MAP_STATE=y | ||
43 | +CONFIG_FIQ=y | ||
44 | +CONFIG_VECTORS_BASE=0xffff0000 | ||
45 | +# CONFIG_ARM_PATCH_PHYS_VIRT is not set | ||
46 | +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
47 | +CONFIG_HAVE_IRQ_WORK=y | ||
48 | +CONFIG_IRQ_WORK=y | ||
49 | + | ||
50 | +# | ||
51 | +# General setup | ||
52 | +# | ||
53 | +CONFIG_EXPERIMENTAL=y | ||
54 | +CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
55 | +CONFIG_CROSS_COMPILE="" | ||
56 | +CONFIG_LOCALVERSION="" | ||
57 | +CONFIG_LOCALVERSION_AUTO=y | ||
58 | +CONFIG_HAVE_KERNEL_GZIP=y | ||
59 | +CONFIG_HAVE_KERNEL_LZMA=y | ||
60 | +CONFIG_HAVE_KERNEL_LZO=y | ||
61 | +CONFIG_KERNEL_GZIP=y | ||
62 | +# CONFIG_KERNEL_LZMA is not set | ||
63 | +# CONFIG_KERNEL_LZO is not set | ||
64 | +CONFIG_DEFAULT_HOSTNAME="(none)" | ||
65 | +CONFIG_SWAP=y | ||
66 | +CONFIG_SYSVIPC=y | ||
67 | +CONFIG_SYSVIPC_SYSCTL=y | ||
68 | +# CONFIG_POSIX_MQUEUE is not set | ||
69 | +# CONFIG_BSD_PROCESS_ACCT is not set | ||
70 | +# CONFIG_FHANDLE is not set | ||
71 | +# CONFIG_TASKSTATS is not set | ||
72 | +# CONFIG_AUDIT is not set | ||
73 | +CONFIG_HAVE_GENERIC_HARDIRQS=y | ||
74 | + | ||
75 | +# | ||
76 | +# IRQ subsystem | ||
77 | +# | ||
78 | +CONFIG_GENERIC_HARDIRQS=y | ||
79 | +CONFIG_HAVE_SPARSE_IRQ=y | ||
80 | +CONFIG_GENERIC_IRQ_SHOW=y | ||
81 | +# CONFIG_SPARSE_IRQ is not set | ||
82 | + | ||
83 | +# | ||
84 | +# RCU Subsystem | ||
85 | +# | ||
86 | +CONFIG_TREE_PREEMPT_RCU=y | ||
87 | +CONFIG_PREEMPT_RCU=y | ||
88 | +# CONFIG_RCU_TRACE is not set | ||
89 | +CONFIG_RCU_FANOUT=32 | ||
90 | +# CONFIG_RCU_FANOUT_EXACT is not set | ||
91 | +# CONFIG_TREE_RCU_TRACE is not set | ||
92 | +# CONFIG_RCU_BOOST is not set | ||
93 | +CONFIG_IKCONFIG=y | ||
94 | +CONFIG_IKCONFIG_PROC=y | ||
95 | +CONFIG_LOG_BUF_SHIFT=14 | ||
96 | +# CONFIG_CGROUPS is not set | ||
97 | +# CONFIG_NAMESPACES is not set | ||
98 | +# CONFIG_SCHED_AUTOGROUP is not set | ||
99 | +# CONFIG_SYSFS_DEPRECATED is not set | ||
100 | +# CONFIG_RELAY is not set | ||
101 | +CONFIG_BLK_DEV_INITRD=y | ||
102 | +CONFIG_INITRAMFS_SOURCE="" | ||
103 | +CONFIG_RD_GZIP=y | ||
104 | +# CONFIG_RD_BZIP2 is not set | ||
105 | +# CONFIG_RD_LZMA is not set | ||
106 | +# CONFIG_RD_XZ is not set | ||
107 | +# CONFIG_RD_LZO is not set | ||
108 | +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
109 | +CONFIG_SYSCTL=y | ||
110 | +CONFIG_ANON_INODES=y | ||
111 | +CONFIG_EXPERT=y | ||
112 | +CONFIG_UID16=y | ||
113 | +CONFIG_SYSCTL_SYSCALL=y | ||
114 | +CONFIG_KALLSYMS=y | ||
115 | +CONFIG_HOTPLUG=y | ||
116 | +CONFIG_PRINTK=y | ||
117 | +CONFIG_BUG=y | ||
118 | +CONFIG_ELF_CORE=y | ||
119 | +CONFIG_BASE_FULL=y | ||
120 | +CONFIG_FUTEX=y | ||
121 | +CONFIG_EPOLL=y | ||
122 | +CONFIG_SIGNALFD=y | ||
123 | +CONFIG_TIMERFD=y | ||
124 | +CONFIG_EVENTFD=y | ||
125 | +CONFIG_SHMEM=y | ||
126 | +CONFIG_AIO=y | ||
127 | +CONFIG_EMBEDDED=y | ||
128 | +CONFIG_HAVE_PERF_EVENTS=y | ||
129 | +CONFIG_PERF_USE_VMALLOC=y | ||
130 | + | ||
131 | +# | ||
132 | +# Kernel Performance Events And Counters | ||
133 | +# | ||
134 | +CONFIG_PERF_EVENTS=y | ||
135 | +# CONFIG_PERF_COUNTERS is not set | ||
136 | +CONFIG_VM_EVENT_COUNTERS=y | ||
137 | +CONFIG_SLUB_DEBUG=y | ||
138 | +CONFIG_COMPAT_BRK=y | ||
139 | +# CONFIG_SLAB is not set | ||
140 | +CONFIG_SLUB=y | ||
141 | +# CONFIG_SLOB is not set | ||
142 | +# CONFIG_PROFILING is not set | ||
143 | +CONFIG_HAVE_OPROFILE=y | ||
144 | +# CONFIG_KPROBES is not set | ||
145 | +CONFIG_HAVE_KPROBES=y | ||
146 | +CONFIG_HAVE_KRETPROBES=y | ||
147 | +CONFIG_USE_GENERIC_SMP_HELPERS=y | ||
148 | +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y | ||
149 | +CONFIG_HAVE_CLK=y | ||
150 | +CONFIG_HAVE_DMA_API_DEBUG=y | ||
151 | +CONFIG_HAVE_HW_BREAKPOINT=y | ||
152 | + | ||
153 | +# | ||
154 | +# GCOV-based kernel profiling | ||
155 | +# | ||
156 | +# CONFIG_GCOV_KERNEL is not set | ||
157 | +CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
158 | +CONFIG_SLABINFO=y | ||
159 | +CONFIG_RT_MUTEXES=y | ||
160 | +CONFIG_BASE_SMALL=0 | ||
161 | +CONFIG_MODULES=y | ||
162 | +# CONFIG_MODULE_FORCE_LOAD is not set | ||
163 | +CONFIG_MODULE_UNLOAD=y | ||
164 | +CONFIG_MODULE_FORCE_UNLOAD=y | ||
165 | +CONFIG_MODVERSIONS=y | ||
166 | +# CONFIG_MODULE_SRCVERSION_ALL is not set | ||
167 | +CONFIG_STOP_MACHINE=y | ||
168 | +CONFIG_BLOCK=y | ||
169 | +CONFIG_LBDAF=y | ||
170 | +# CONFIG_BLK_DEV_BSG is not set | ||
171 | +# CONFIG_BLK_DEV_INTEGRITY is not set | ||
172 | + | ||
173 | +# | ||
174 | +# IO Schedulers | ||
175 | +# | ||
176 | +CONFIG_IOSCHED_NOOP=y | ||
177 | +CONFIG_IOSCHED_DEADLINE=y | ||
178 | +CONFIG_IOSCHED_CFQ=y | ||
179 | +# CONFIG_DEFAULT_DEADLINE is not set | ||
180 | +CONFIG_DEFAULT_CFQ=y | ||
181 | +# CONFIG_DEFAULT_NOOP is not set | ||
182 | +CONFIG_DEFAULT_IOSCHED="cfq" | ||
183 | +# CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
184 | +# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
185 | +# CONFIG_INLINE_SPIN_LOCK is not set | ||
186 | +# CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
187 | +# CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
188 | +# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
189 | +# CONFIG_INLINE_SPIN_UNLOCK is not set | ||
190 | +# CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
191 | +# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
192 | +# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
193 | +# CONFIG_INLINE_READ_TRYLOCK is not set | ||
194 | +# CONFIG_INLINE_READ_LOCK is not set | ||
195 | +# CONFIG_INLINE_READ_LOCK_BH is not set | ||
196 | +# CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
197 | +# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
198 | +# CONFIG_INLINE_READ_UNLOCK is not set | ||
199 | +# CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
200 | +# CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
201 | +# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
202 | +# CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
203 | +# CONFIG_INLINE_WRITE_LOCK is not set | ||
204 | +# CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
205 | +# CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
206 | +# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
207 | +# CONFIG_INLINE_WRITE_UNLOCK is not set | ||
208 | +# CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
209 | +# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
210 | +# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
211 | +CONFIG_MUTEX_SPIN_ON_OWNER=y | ||
212 | +CONFIG_FREEZER=y | ||
213 | + | ||
214 | +# | ||
215 | +# System Type | ||
216 | +# | ||
217 | +CONFIG_MMU=y | ||
218 | +# CONFIG_ARCH_INTEGRATOR is not set | ||
219 | +# CONFIG_ARCH_REALVIEW is not set | ||
220 | +# CONFIG_ARCH_VERSATILE is not set | ||
221 | +# CONFIG_ARCH_VEXPRESS is not set | ||
222 | +# CONFIG_ARCH_AT91 is not set | ||
223 | +# CONFIG_ARCH_BCMRING is not set | ||
224 | +# CONFIG_ARCH_CLPS711X is not set | ||
225 | +# CONFIG_ARCH_CNS3XXX is not set | ||
226 | +# CONFIG_ARCH_GEMINI is not set | ||
227 | +# CONFIG_ARCH_EBSA110 is not set | ||
228 | +# CONFIG_ARCH_EP93XX is not set | ||
229 | +# CONFIG_ARCH_FOOTBRIDGE is not set | ||
230 | +CONFIG_ARCH_MXC=y | ||
231 | +# CONFIG_ARCH_MXS is not set | ||
232 | +# CONFIG_ARCH_NETX is not set | ||
233 | +# CONFIG_ARCH_H720X is not set | ||
234 | +# CONFIG_ARCH_IOP13XX is not set | ||
235 | +# CONFIG_ARCH_IOP32X is not set | ||
236 | +# CONFIG_ARCH_IOP33X is not set | ||
237 | +# CONFIG_ARCH_IXP23XX is not set | ||
238 | +# CONFIG_ARCH_IXP2000 is not set | ||
239 | +# CONFIG_ARCH_IXP4XX is not set | ||
240 | +# CONFIG_ARCH_DOVE is not set | ||
241 | +# CONFIG_ARCH_KIRKWOOD is not set | ||
242 | +# CONFIG_ARCH_LOKI is not set | ||
243 | +# CONFIG_ARCH_LPC32XX is not set | ||
244 | +# CONFIG_ARCH_MV78XX0 is not set | ||
245 | +# CONFIG_ARCH_ORION5X is not set | ||
246 | +# CONFIG_ARCH_MMP is not set | ||
247 | +# CONFIG_ARCH_KS8695 is not set | ||
248 | +# CONFIG_ARCH_W90X900 is not set | ||
249 | +# CONFIG_ARCH_NUC93X is not set | ||
250 | +# CONFIG_ARCH_TEGRA is not set | ||
251 | +# CONFIG_ARCH_PNX4008 is not set | ||
252 | +# CONFIG_ARCH_PXA is not set | ||
253 | +# CONFIG_ARCH_MSM is not set | ||
254 | +# CONFIG_ARCH_SHMOBILE is not set | ||
255 | +# CONFIG_ARCH_RPC is not set | ||
256 | +# CONFIG_ARCH_SA1100 is not set | ||
257 | +# CONFIG_ARCH_S3C2410 is not set | ||
258 | +# CONFIG_ARCH_S3C64XX is not set | ||
259 | +# CONFIG_ARCH_S5P64X0 is not set | ||
260 | +# CONFIG_ARCH_S5PC100 is not set | ||
261 | +# CONFIG_ARCH_S5PV210 is not set | ||
262 | +# CONFIG_ARCH_EXYNOS4 is not set | ||
263 | +# CONFIG_ARCH_SHARK is not set | ||
264 | +# CONFIG_ARCH_TCC_926 is not set | ||
265 | +# CONFIG_ARCH_U300 is not set | ||
266 | +# CONFIG_ARCH_U8500 is not set | ||
267 | +# CONFIG_ARCH_NOMADIK is not set | ||
268 | +# CONFIG_ARCH_DAVINCI is not set | ||
269 | +# CONFIG_ARCH_OMAP is not set | ||
270 | +# CONFIG_PLAT_SPEAR is not set | ||
271 | +# CONFIG_ARCH_VT8500 is not set | ||
272 | +CONFIG_GPIO_PCA953X=y | ||
273 | +# CONFIG_KEYBOARD_GPIO_POLLED is not set | ||
274 | +CONFIG_IMX_HAVE_PLATFORM_DMA=y | ||
275 | +CONFIG_IMX_HAVE_PLATFORM_FEC=y | ||
276 | +CONFIG_IMX_HAVE_PLATFORM_FLEXCAN=y | ||
277 | +CONFIG_IMX_HAVE_PLATFORM_FSL_USB2_UDC=y | ||
278 | +CONFIG_IMX_HAVE_PLATFORM_GPMI_NFC=y | ||
279 | +CONFIG_IMX_HAVE_PLATFORM_IMX2_WDT=y | ||
280 | +CONFIG_IMX_HAVE_PLATFORM_IMX_SNVS_RTC=y | ||
281 | +CONFIG_IMX_HAVE_PLATFORM_IMX_CAAM=y | ||
282 | +CONFIG_IMX_HAVE_PLATFORM_IMX_I2C=y | ||
283 | +CONFIG_IMX_HAVE_PLATFORM_IMX_SSI=y | ||
284 | +CONFIG_IMX_HAVE_PLATFORM_IMX_UART=y | ||
285 | +CONFIG_IMX_HAVE_PLATFORM_MXC_EHCI=y | ||
286 | +CONFIG_IMX_HAVE_PLATFORM_MXC_PWM=y | ||
287 | +CONFIG_IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX=y | ||
288 | +CONFIG_IMX_HAVE_PLATFORM_SPI_IMX=y | ||
289 | +CONFIG_IMX_HAVE_PLATFORM_IMX_IPUV3=y | ||
290 | +CONFIG_IMX_HAVE_PLATFORM_IMX_VPU=y | ||
291 | +CONFIG_IMX_HAVE_PLATFORM_IMX_DVFS=y | ||
292 | +CONFIG_IMX_HAVE_PLATFORM_AHCI=y | ||
293 | +CONFIG_IMX_HAVE_PLATFORM_IMX_OCOTP=y | ||
294 | +CONFIG_IMX_HAVE_PLATFORM_IMX_VIIM=y | ||
295 | +CONFIG_IMX_HAVE_PLATFORM_PERFMON=y | ||
296 | +CONFIG_IMX_HAVE_PLATFORM_LDB=y | ||
297 | +CONFIG_IMX_HAVE_PLATFORM_IMX_SPDIF=y | ||
298 | +CONFIG_IMX_HAVE_PLATFORM_VIV_GPU=y | ||
299 | +CONFIG_IMX_HAVE_PLATFORM_MXC_HDMI=y | ||
300 | +CONFIG_IMX_HAVE_PLATFORM_IMX_ANATOP_THERMAL=y | ||
301 | +CONFIG_IMX_HAVE_PLATFORM_FSL_OTG=y | ||
302 | +CONFIG_IMX_HAVE_PLATFORM_FSL_USB_WAKEUP=y | ||
303 | +CONFIG_IMX_HAVE_PLATFORM_IMX_PM=y | ||
304 | +CONFIG_IMX_HAVE_PLATFORM_IMX_ASRC=y | ||
305 | +CONFIG_IMX_HAVE_PLATFORM_IMX_MIPI_DSI=y | ||
306 | +CONFIG_IMX_HAVE_PLATFORM_IMX_MIPI_CSI2=y | ||
307 | +CONFIG_IMX_HAVE_PLATFORM_IMX_VDOA=y | ||
308 | +CONFIG_IMX_HAVE_PLATFORM_IMX_PCIE=y | ||
309 | + | ||
310 | +# | ||
311 | +# Freescale MXC Implementations | ||
312 | +# | ||
313 | +# CONFIG_ARCH_MX1 is not set | ||
314 | +# CONFIG_ARCH_MX2 is not set | ||
315 | +# CONFIG_ARCH_MX25 is not set | ||
316 | +# CONFIG_ARCH_MX3 is not set | ||
317 | +# CONFIG_ARCH_MX503 is not set | ||
318 | +# CONFIG_ARCH_MX51 is not set | ||
319 | +CONFIG_ARCH_MX6=y | ||
320 | +CONFIG_ARCH_MX6Q=y | ||
321 | +CONFIG_FORCE_MAX_ZONEORDER=14 | ||
322 | +CONFIG_SOC_IMX6Q=y | ||
323 | +# CONFIG_MACH_MX6Q_ARM2 is not set | ||
324 | +# CONFIG_MACH_MX6SL_ARM2 is not set | ||
325 | +CONFIG_MACH_MX6Q_SABRELITE=y | ||
326 | +# CONFIG_MACH_MX6Q_SABRESD is not set | ||
327 | +# CONFIG_MACH_MX6Q_SABREAUTO is not set | ||
328 | + | ||
329 | +# | ||
330 | +# MX6 Options: | ||
331 | +# | ||
332 | +CONFIG_IMX_PCIE=y | ||
333 | +CONFIG_USB_EHCI_ARC_H1=y | ||
334 | +# CONFIG_MX6_INTER_LDO_BYPASS is not set | ||
335 | +CONFIG_ISP1504_MXC=y | ||
336 | +# CONFIG_MXC_IRQ_PRIOR is not set | ||
337 | +CONFIG_MXC_PWM=y | ||
338 | +# CONFIG_MXC_DEBUG_BOARD is not set | ||
339 | +CONFIG_MXC_REBOOT_MFGMODE=y | ||
340 | +# CONFIG_MXC_REBOOT_ANDROID_CMD is not set | ||
341 | +CONFIG_ARCH_MXC_IOMUX_V3=y | ||
342 | +CONFIG_ARCH_MXC_AUDMUX_V2=y | ||
343 | +CONFIG_IRAM_ALLOC=y | ||
344 | +CONFIG_CLK_DEBUG=y | ||
345 | +CONFIG_DMA_ZONE_SIZE=184 | ||
346 | + | ||
347 | +# | ||
348 | +# System MMU | ||
349 | +# | ||
350 | + | ||
351 | +# | ||
352 | +# Processor Type | ||
353 | +# | ||
354 | +CONFIG_CPU_V7=y | ||
355 | +CONFIG_CPU_32v6K=y | ||
356 | +CONFIG_CPU_32v7=y | ||
357 | +CONFIG_CPU_ABRT_EV7=y | ||
358 | +CONFIG_CPU_PABRT_V7=y | ||
359 | +CONFIG_CPU_CACHE_V7=y | ||
360 | +CONFIG_CPU_CACHE_VIPT=y | ||
361 | +CONFIG_CPU_COPY_V6=y | ||
362 | +CONFIG_CPU_TLB_V7=y | ||
363 | +CONFIG_CPU_HAS_ASID=y | ||
364 | +CONFIG_CPU_CP15=y | ||
365 | +CONFIG_CPU_CP15_MMU=y | ||
366 | + | ||
367 | +# | ||
368 | +# Processor Features | ||
369 | +# | ||
370 | +CONFIG_ARM_THUMB=y | ||
371 | +# CONFIG_ARM_THUMBEE is not set | ||
372 | +# CONFIG_SWP_EMULATE is not set | ||
373 | +# CONFIG_CPU_ICACHE_DISABLE is not set | ||
374 | +# CONFIG_CPU_DCACHE_DISABLE is not set | ||
375 | +# CONFIG_CPU_BPREDICT_DISABLE is not set | ||
376 | +CONFIG_OUTER_CACHE=y | ||
377 | +CONFIG_OUTER_CACHE_SYNC=y | ||
378 | +CONFIG_CACHE_L2X0=y | ||
379 | +CONFIG_CACHE_PL310=y | ||
380 | +CONFIG_ARM_L1_CACHE_SHIFT=5 | ||
381 | +CONFIG_ARM_DMA_MEM_BUFFERABLE=y | ||
382 | +CONFIG_CPU_HAS_PMU=y | ||
383 | +# CONFIG_ARM_ERRATA_430973 is not set | ||
384 | +# CONFIG_ARM_ERRATA_458693 is not set | ||
385 | +# CONFIG_ARM_ERRATA_460075 is not set | ||
386 | +# CONFIG_ARM_ERRATA_742230 is not set | ||
387 | +# CONFIG_ARM_ERRATA_742231 is not set | ||
388 | +# CONFIG_PL310_ERRATA_588369 is not set | ||
389 | +# CONFIG_ARM_ERRATA_720789 is not set | ||
390 | +# CONFIG_PL310_ERRATA_727915 is not set | ||
391 | +CONFIG_ARM_ERRATA_743622=y | ||
392 | +CONFIG_ARM_ERRATA_751472=y | ||
393 | +# CONFIG_ARM_ERRATA_753970 is not set | ||
394 | +CONFIG_ARM_ERRATA_754322=y | ||
395 | +# CONFIG_ARM_ERRATA_754327 is not set | ||
396 | +CONFIG_ARM_GIC=y | ||
397 | + | ||
398 | +# | ||
399 | +# Bus support | ||
400 | +# | ||
401 | +CONFIG_PCI=y | ||
402 | +CONFIG_PCI_SYSCALL=y | ||
403 | +# CONFIG_ARCH_SUPPORTS_MSI is not set | ||
404 | +# CONFIG_PCI_STUB is not set | ||
405 | +# CONFIG_PCI_IOV is not set | ||
406 | +# CONFIG_PCIEPORTBUS is not set | ||
407 | +# CONFIG_PCCARD is not set | ||
408 | +CONFIG_ARM_ERRATA_764369=y | ||
409 | +# CONFIG_PL310_ERRATA_769419 is not set | ||
410 | + | ||
411 | +# | ||
412 | +# Kernel Features | ||
413 | +# | ||
414 | +CONFIG_TICK_ONESHOT=y | ||
415 | +CONFIG_NO_HZ=y | ||
416 | +CONFIG_HIGH_RES_TIMERS=y | ||
417 | +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
418 | +CONFIG_SMP=y | ||
419 | +CONFIG_SMP_ON_UP=y | ||
420 | +CONFIG_HAVE_ARM_SCU=y | ||
421 | +CONFIG_HAVE_ARM_TWD=y | ||
422 | +# CONFIG_VMSPLIT_3G is not set | ||
423 | +CONFIG_VMSPLIT_2G=y | ||
424 | +# CONFIG_VMSPLIT_1G is not set | ||
425 | +CONFIG_PAGE_OFFSET=0x80000000 | ||
426 | +CONFIG_NR_CPUS=4 | ||
427 | +CONFIG_HOTPLUG_CPU=y | ||
428 | +CONFIG_LOCAL_TIMERS=y | ||
429 | +# CONFIG_PREEMPT_NONE is not set | ||
430 | +# CONFIG_PREEMPT_VOLUNTARY is not set | ||
431 | +CONFIG_PREEMPT=y | ||
432 | +CONFIG_HZ=100 | ||
433 | +# CONFIG_THUMB2_KERNEL is not set | ||
434 | +CONFIG_AEABI=y | ||
435 | +# CONFIG_OABI_COMPAT is not set | ||
436 | +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | ||
437 | +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
438 | +CONFIG_HAVE_ARCH_PFN_VALID=y | ||
439 | +CONFIG_HIGHMEM=y | ||
440 | +# CONFIG_HIGHPTE is not set | ||
441 | +CONFIG_HW_PERF_EVENTS=y | ||
442 | +CONFIG_SELECT_MEMORY_MODEL=y | ||
443 | +CONFIG_FLATMEM_MANUAL=y | ||
444 | +CONFIG_FLATMEM=y | ||
445 | +CONFIG_FLAT_NODE_MEM_MAP=y | ||
446 | +CONFIG_HAVE_MEMBLOCK=y | ||
447 | +CONFIG_PAGEFLAGS_EXTENDED=y | ||
448 | +CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
449 | +CONFIG_COMPACTION=y | ||
450 | +CONFIG_MIGRATION=y | ||
451 | +# CONFIG_PHYS_ADDR_T_64BIT is not set | ||
452 | +CONFIG_ZONE_DMA_FLAG=1 | ||
453 | +CONFIG_BOUNCE=y | ||
454 | +CONFIG_VIRT_TO_BUS=y | ||
455 | +CONFIG_KSM=y | ||
456 | +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
457 | +# CONFIG_CLEANCACHE is not set | ||
458 | +CONFIG_ALIGNMENT_TRAP=y | ||
459 | +# CONFIG_UACCESS_WITH_MEMCPY is not set | ||
460 | +# CONFIG_SECCOMP is not set | ||
461 | +# CONFIG_CC_STACKPROTECTOR is not set | ||
462 | +# CONFIG_DEPRECATED_PARAM_STRUCT is not set | ||
463 | + | ||
464 | +# | ||
465 | +# Boot options | ||
466 | +# | ||
467 | +# CONFIG_USE_OF is not set | ||
468 | +CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
469 | +CONFIG_ZBOOT_ROM_BSS=0x0 | ||
470 | +CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw rootfstype=jffs2 ip=off" | ||
471 | +CONFIG_CMDLINE_FROM_BOOTLOADER=y | ||
472 | +# CONFIG_CMDLINE_EXTEND is not set | ||
473 | +# CONFIG_CMDLINE_FORCE is not set | ||
474 | +# CONFIG_XIP_KERNEL is not set | ||
475 | +# CONFIG_KEXEC is not set | ||
476 | +# CONFIG_CRASH_DUMP is not set | ||
477 | +# CONFIG_AUTO_ZRELADDR is not set | ||
478 | + | ||
479 | +# | ||
480 | +# CPU Power Management | ||
481 | +# | ||
482 | + | ||
483 | +# | ||
484 | +# CPU Frequency scaling | ||
485 | +# | ||
486 | +CONFIG_CPU_FREQ=y | ||
487 | +CONFIG_CPU_FREQ_TABLE=y | ||
488 | +CONFIG_CPU_FREQ_STAT=y | ||
489 | +# CONFIG_CPU_FREQ_STAT_DETAILS is not set | ||
490 | +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set | ||
491 | +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set | ||
492 | +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | ||
493 | +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set | ||
494 | +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set | ||
495 | +CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y | ||
496 | +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | ||
497 | +CONFIG_CPU_FREQ_GOV_POWERSAVE=y | ||
498 | +CONFIG_CPU_FREQ_GOV_USERSPACE=y | ||
499 | +CONFIG_CPU_FREQ_GOV_ONDEMAND=y | ||
500 | +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y | ||
501 | +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y | ||
502 | +CONFIG_CPU_FREQ_IMX=y | ||
503 | +# CONFIG_CPU_IDLE is not set | ||
504 | + | ||
505 | +# | ||
506 | +# Floating point emulation | ||
507 | +# | ||
508 | + | ||
509 | +# | ||
510 | +# At least one emulation must be selected | ||
511 | +# | ||
512 | +CONFIG_VFP=y | ||
513 | +CONFIG_VFPv3=y | ||
514 | +CONFIG_NEON=y | ||
515 | + | ||
516 | +# | ||
517 | +# Userspace binary formats | ||
518 | +# | ||
519 | +CONFIG_BINFMT_ELF=y | ||
520 | +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
521 | +CONFIG_HAVE_AOUT=y | ||
522 | +# CONFIG_BINFMT_AOUT is not set | ||
523 | +# CONFIG_BINFMT_MISC is not set | ||
524 | + | ||
525 | +# | ||
526 | +# Power management options | ||
527 | +# | ||
528 | +CONFIG_SUSPEND=y | ||
529 | +# CONFIG_PM_TEST_SUSPEND is not set | ||
530 | +CONFIG_SUSPEND_DEVICE_TIME_DEBUG=y | ||
531 | +CONFIG_SUSPEND_FREEZER=y | ||
532 | +CONFIG_PM_SLEEP=y | ||
533 | +CONFIG_PM_SLEEP_SMP=y | ||
534 | +CONFIG_PM_RUNTIME=y | ||
535 | +CONFIG_PM=y | ||
536 | +CONFIG_PM_DEBUG=y | ||
537 | +# CONFIG_PM_ADVANCED_DEBUG is not set | ||
538 | +CONFIG_CAN_PM_TRACE=y | ||
539 | +CONFIG_APM_EMULATION=y | ||
540 | +CONFIG_PM_RUNTIME_CLK=y | ||
541 | +CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
542 | +CONFIG_NET=y | ||
543 | + | ||
544 | +# | ||
545 | +# Networking options | ||
546 | +# | ||
547 | +CONFIG_PACKET=y | ||
548 | +CONFIG_UNIX=y | ||
549 | +CONFIG_XFRM=y | ||
550 | +# CONFIG_XFRM_USER is not set | ||
551 | +# CONFIG_XFRM_SUB_POLICY is not set | ||
552 | +# CONFIG_XFRM_MIGRATE is not set | ||
553 | +# CONFIG_XFRM_STATISTICS is not set | ||
554 | +# CONFIG_NET_KEY is not set | ||
555 | +CONFIG_INET=y | ||
556 | +CONFIG_IP_MULTICAST=y | ||
557 | +# CONFIG_IP_ADVANCED_ROUTER is not set | ||
558 | +CONFIG_IP_PNP=y | ||
559 | +CONFIG_IP_PNP_DHCP=y | ||
560 | +CONFIG_IP_PNP_BOOTP=y | ||
561 | +# CONFIG_IP_PNP_RARP is not set | ||
562 | +# CONFIG_NET_IPIP is not set | ||
563 | +# CONFIG_NET_IPGRE_DEMUX is not set | ||
564 | +# CONFIG_IP_MROUTE is not set | ||
565 | +# CONFIG_ARPD is not set | ||
566 | +# CONFIG_SYN_COOKIES is not set | ||
567 | +# CONFIG_INET_AH is not set | ||
568 | +# CONFIG_INET_ESP is not set | ||
569 | +# CONFIG_INET_IPCOMP is not set | ||
570 | +# CONFIG_INET_XFRM_TUNNEL is not set | ||
571 | +# CONFIG_INET_TUNNEL is not set | ||
572 | +CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
573 | +CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
574 | +CONFIG_INET_XFRM_MODE_BEET=y | ||
575 | +# CONFIG_INET_LRO is not set | ||
576 | +CONFIG_INET_DIAG=y | ||
577 | +CONFIG_INET_TCP_DIAG=y | ||
578 | +# CONFIG_TCP_CONG_ADVANCED is not set | ||
579 | +CONFIG_TCP_CONG_CUBIC=y | ||
580 | +CONFIG_DEFAULT_TCP_CONG="cubic" | ||
581 | +# CONFIG_TCP_MD5SIG is not set | ||
582 | +# CONFIG_IPV6 is not set | ||
583 | +# CONFIG_NETWORK_SECMARK is not set | ||
584 | +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set | ||
585 | +# CONFIG_NETFILTER is not set | ||
586 | +# CONFIG_IP_DCCP is not set | ||
587 | +# CONFIG_IP_SCTP is not set | ||
588 | +# CONFIG_RDS is not set | ||
589 | +# CONFIG_TIPC is not set | ||
590 | +# CONFIG_ATM is not set | ||
591 | +# CONFIG_L2TP is not set | ||
592 | +# CONFIG_BRIDGE is not set | ||
593 | +# CONFIG_NET_DSA is not set | ||
594 | +# CONFIG_VLAN_8021Q is not set | ||
595 | +# CONFIG_DECNET is not set | ||
596 | +CONFIG_LLC=y | ||
597 | +CONFIG_LLC2=y | ||
598 | +# CONFIG_IPX is not set | ||
599 | +# CONFIG_ATALK is not set | ||
600 | +# CONFIG_X25 is not set | ||
601 | +# CONFIG_LAPB is not set | ||
602 | +# CONFIG_ECONET is not set | ||
603 | +# CONFIG_WAN_ROUTER is not set | ||
604 | +# CONFIG_PHONET is not set | ||
605 | +# CONFIG_IEEE802154 is not set | ||
606 | +# CONFIG_NET_SCHED is not set | ||
607 | +# CONFIG_DCB is not set | ||
608 | +# CONFIG_BATMAN_ADV is not set | ||
609 | +CONFIG_RPS=y | ||
610 | +CONFIG_RFS_ACCEL=y | ||
611 | +CONFIG_XPS=y | ||
612 | + | ||
613 | +# | ||
614 | +# Network testing | ||
615 | +# | ||
616 | +# CONFIG_NET_PKTGEN is not set | ||
617 | +# CONFIG_HAMRADIO is not set | ||
618 | +CONFIG_CAN=y | ||
619 | +CONFIG_CAN_RAW=y | ||
620 | +CONFIG_CAN_BCM=y | ||
621 | + | ||
622 | +# | ||
623 | +# CAN Device Drivers | ||
624 | +# | ||
625 | +CONFIG_CAN_VCAN=y | ||
626 | +# CONFIG_CAN_SLCAN is not set | ||
627 | +CONFIG_CAN_DEV=y | ||
628 | +CONFIG_CAN_CALC_BITTIMING=y | ||
629 | +# CONFIG_CAN_MCP251X is not set | ||
630 | +CONFIG_HAVE_CAN_FLEXCAN=y | ||
631 | +CONFIG_CAN_FLEXCAN=y | ||
632 | +# CONFIG_CAN_SJA1000 is not set | ||
633 | +# CONFIG_CAN_C_CAN is not set | ||
634 | + | ||
635 | +# | ||
636 | +# CAN USB interfaces | ||
637 | +# | ||
638 | +# CONFIG_CAN_EMS_USB is not set | ||
639 | +# CONFIG_CAN_ESD_USB2 is not set | ||
640 | +# CONFIG_CAN_SOFTING is not set | ||
641 | +# CONFIG_CAN_DEBUG_DEVICES is not set | ||
642 | +# CONFIG_IRDA is not set | ||
643 | +CONFIG_BT=y | ||
644 | +CONFIG_BT_L2CAP=y | ||
645 | +CONFIG_BT_SCO=y | ||
646 | +CONFIG_BT_RFCOMM=y | ||
647 | +CONFIG_BT_RFCOMM_TTY=y | ||
648 | +CONFIG_BT_BNEP=y | ||
649 | +CONFIG_BT_BNEP_MC_FILTER=y | ||
650 | +CONFIG_BT_BNEP_PROTO_FILTER=y | ||
651 | +CONFIG_BT_HIDP=y | ||
652 | + | ||
653 | +# | ||
654 | +# Bluetooth device drivers | ||
655 | +# | ||
656 | +# CONFIG_BT_HCIBTUSB is not set | ||
657 | +# CONFIG_BT_HCIBTSDIO is not set | ||
658 | +CONFIG_BT_HCIUART=y | ||
659 | +# CONFIG_BT_HCIUART_H4 is not set | ||
660 | +# CONFIG_BT_HCIUART_BCSP is not set | ||
661 | +# CONFIG_BT_HCIUART_ATH3K is not set | ||
662 | +CONFIG_BT_HCIUART_LL=y | ||
663 | +# CONFIG_BT_HCIBCM203X is not set | ||
664 | +# CONFIG_BT_HCIBPA10X is not set | ||
665 | +# CONFIG_BT_HCIBFUSB is not set | ||
666 | +# CONFIG_BT_HCIVHCI is not set | ||
667 | +# CONFIG_BT_MRVL is not set | ||
668 | +# CONFIG_BT_ATH3K is not set | ||
669 | +# CONFIG_AF_RXRPC is not set | ||
670 | +CONFIG_FIB_RULES=y | ||
671 | +CONFIG_WIRELESS=y | ||
672 | +CONFIG_WIRELESS_EXT=y | ||
673 | +CONFIG_WEXT_CORE=y | ||
674 | +CONFIG_WEXT_PROC=y | ||
675 | +CONFIG_WEXT_SPY=y | ||
676 | +CONFIG_WEXT_PRIV=y | ||
677 | +CONFIG_CFG80211=y | ||
678 | +# CONFIG_NL80211_TESTMODE is not set | ||
679 | +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set | ||
680 | +# CONFIG_CFG80211_REG_DEBUG is not set | ||
681 | +CONFIG_CFG80211_DEFAULT_PS=y | ||
682 | +# CONFIG_CFG80211_DEBUGFS is not set | ||
683 | +# CONFIG_CFG80211_INTERNAL_REGDB is not set | ||
684 | +CONFIG_CFG80211_WEXT=y | ||
685 | +CONFIG_WIRELESS_EXT_SYSFS=y | ||
686 | +CONFIG_LIB80211=y | ||
687 | +CONFIG_LIB80211_CRYPT_WEP=y | ||
688 | +CONFIG_LIB80211_CRYPT_CCMP=y | ||
689 | +CONFIG_LIB80211_CRYPT_TKIP=y | ||
690 | +# CONFIG_LIB80211_DEBUG is not set | ||
691 | +# CONFIG_CFG80211_ALLOW_RECONNECT is not set | ||
692 | +CONFIG_MAC80211=y | ||
693 | +CONFIG_MAC80211_HAS_RC=y | ||
694 | +# CONFIG_MAC80211_RC_PID is not set | ||
695 | +CONFIG_MAC80211_RC_MINSTREL=y | ||
696 | +CONFIG_MAC80211_RC_MINSTREL_HT=y | ||
697 | +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y | ||
698 | +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" | ||
699 | +# CONFIG_MAC80211_MESH is not set | ||
700 | +# CONFIG_MAC80211_LEDS is not set | ||
701 | +# CONFIG_MAC80211_DEBUGFS is not set | ||
702 | +# CONFIG_MAC80211_DEBUG_MENU is not set | ||
703 | +# CONFIG_WIMAX is not set | ||
704 | +CONFIG_RFKILL=y | ||
705 | +CONFIG_RFKILL_LEDS=y | ||
706 | +CONFIG_RFKILL_INPUT=y | ||
707 | +# CONFIG_RFKILL_REGULATOR is not set | ||
708 | +# CONFIG_RFKILL_GPIO is not set | ||
709 | +# CONFIG_NET_9P is not set | ||
710 | +# CONFIG_CAIF is not set | ||
711 | +# CONFIG_CEPH_LIB is not set | ||
712 | + | ||
713 | +# | ||
714 | +# Device Drivers | ||
715 | +# | ||
716 | + | ||
717 | +# | ||
718 | +# Generic Driver Options | ||
719 | +# | ||
720 | +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
721 | +# CONFIG_DEVTMPFS is not set | ||
722 | +CONFIG_STANDALONE=y | ||
723 | +CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
724 | +CONFIG_FW_LOADER=y | ||
725 | +CONFIG_FIRMWARE_IN_KERNEL=y | ||
726 | +CONFIG_EXTRA_FIRMWARE="" | ||
727 | +# CONFIG_SYS_HYPERVISOR is not set | ||
728 | +CONFIG_CONNECTOR=y | ||
729 | +CONFIG_PROC_EVENTS=y | ||
730 | +CONFIG_MTD=y | ||
731 | +# CONFIG_MTD_DEBUG is not set | ||
732 | +# CONFIG_MTD_TESTS is not set | ||
733 | +# CONFIG_MTD_REDBOOT_PARTS is not set | ||
734 | +CONFIG_MTD_CMDLINE_PARTS=y | ||
735 | +# CONFIG_MTD_AFS_PARTS is not set | ||
736 | +# CONFIG_MTD_AR7_PARTS is not set | ||
737 | + | ||
738 | +# | ||
739 | +# User Modules And Translation Layers | ||
740 | +# | ||
741 | +CONFIG_MTD_CHAR=y | ||
742 | +CONFIG_MTD_BLKDEVS=y | ||
743 | +CONFIG_MTD_BLOCK=y | ||
744 | +# CONFIG_FTL is not set | ||
745 | +# CONFIG_NFTL is not set | ||
746 | +# CONFIG_INFTL is not set | ||
747 | +# CONFIG_RFD_FTL is not set | ||
748 | +# CONFIG_SSFDC is not set | ||
749 | +# CONFIG_SM_FTL is not set | ||
750 | +# CONFIG_MTD_OOPS is not set | ||
751 | +# CONFIG_MTD_SWAP is not set | ||
752 | + | ||
753 | +# | ||
754 | +# RAM/ROM/Flash chip drivers | ||
755 | +# | ||
756 | +# CONFIG_MTD_CFI is not set | ||
757 | +# CONFIG_MTD_JEDECPROBE is not set | ||
758 | +CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
759 | +CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
760 | +CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
761 | +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
762 | +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
763 | +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
764 | +CONFIG_MTD_CFI_I1=y | ||
765 | +CONFIG_MTD_CFI_I2=y | ||
766 | +# CONFIG_MTD_CFI_I4 is not set | ||
767 | +# CONFIG_MTD_CFI_I8 is not set | ||
768 | +# CONFIG_MTD_RAM is not set | ||
769 | +# CONFIG_MTD_ROM is not set | ||
770 | +# CONFIG_MTD_ABSENT is not set | ||
771 | + | ||
772 | +# | ||
773 | +# Mapping drivers for chip access | ||
774 | +# | ||
775 | +# CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
776 | +# CONFIG_MTD_PLATRAM is not set | ||
777 | + | ||
778 | +# | ||
779 | +# Self-contained MTD device drivers | ||
780 | +# | ||
781 | +# CONFIG_MTD_DATAFLASH is not set | ||
782 | +CONFIG_MTD_M25P80=y | ||
783 | +CONFIG_M25PXX_USE_FAST_READ=y | ||
784 | +# CONFIG_MTD_SST25L is not set | ||
785 | +# CONFIG_MTD_SLRAM is not set | ||
786 | +# CONFIG_MTD_PHRAM is not set | ||
787 | +# CONFIG_MTD_MTDRAM is not set | ||
788 | +# CONFIG_MTD_BLOCK2MTD is not set | ||
789 | + | ||
790 | +# | ||
791 | +# Disk-On-Chip Device Drivers | ||
792 | +# | ||
793 | +# CONFIG_MTD_DOC2000 is not set | ||
794 | +# CONFIG_MTD_DOC2001 is not set | ||
795 | +# CONFIG_MTD_DOC2001PLUS is not set | ||
796 | +CONFIG_MTD_NAND_ECC=y | ||
797 | +# CONFIG_MTD_NAND_ECC_SMC is not set | ||
798 | +CONFIG_MTD_NAND=y | ||
799 | +# CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
800 | +# CONFIG_MTD_NAND_ECC_BCH is not set | ||
801 | +# CONFIG_MTD_SM_COMMON is not set | ||
802 | +# CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
803 | +# CONFIG_MTD_NAND_GPIO is not set | ||
804 | +CONFIG_MTD_NAND_IDS=y | ||
805 | +# CONFIG_MTD_NAND_DISKONCHIP is not set | ||
806 | +# CONFIG_MTD_NAND_NANDSIM is not set | ||
807 | +# CONFIG_MTD_NAND_GPMI_NAND is not set | ||
808 | +# CONFIG_MTD_NAND_PLATFORM is not set | ||
809 | +# CONFIG_MTD_ALAUDA is not set | ||
810 | +# CONFIG_MTD_ONENAND is not set | ||
811 | + | ||
812 | +# | ||
813 | +# LPDDR flash memory drivers | ||
814 | +# | ||
815 | +# CONFIG_MTD_LPDDR is not set | ||
816 | +CONFIG_MTD_UBI=y | ||
817 | +CONFIG_MTD_UBI_WL_THRESHOLD=4096 | ||
818 | +CONFIG_MTD_UBI_BEB_RESERVE=1 | ||
819 | +# CONFIG_MTD_UBI_GLUEBI is not set | ||
820 | +# CONFIG_MTD_UBI_DEBUG is not set | ||
821 | +# CONFIG_PARPORT is not set | ||
822 | +CONFIG_BLK_DEV=y | ||
823 | +# CONFIG_BLK_DEV_COW_COMMON is not set | ||
824 | +CONFIG_BLK_DEV_LOOP=y | ||
825 | +# CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
826 | +# CONFIG_BLK_DEV_DRBD is not set | ||
827 | +# CONFIG_BLK_DEV_NBD is not set | ||
828 | +# CONFIG_BLK_DEV_UB is not set | ||
829 | +# CONFIG_BLK_DEV_RAM is not set | ||
830 | +# CONFIG_CDROM_PKTCDVD is not set | ||
831 | +# CONFIG_ATA_OVER_ETH is not set | ||
832 | +# CONFIG_MG_DISK is not set | ||
833 | +# CONFIG_BLK_DEV_RBD is not set | ||
834 | +# CONFIG_SENSORS_LIS3LV02D is not set | ||
835 | +CONFIG_MISC_DEVICES=y | ||
836 | +# CONFIG_AD525X_DPOT is not set | ||
837 | +# CONFIG_PHANTOM is not set | ||
838 | +# CONFIG_INTEL_MID_PTI is not set | ||
839 | +# CONFIG_SGI_IOC4 is not set | ||
840 | +# CONFIG_TIFM_CORE is not set | ||
841 | +# CONFIG_ICS932S401 is not set | ||
842 | +# CONFIG_ENCLOSURE_SERVICES is not set | ||
843 | +# CONFIG_HP_ILO is not set | ||
844 | +# CONFIG_APDS9802ALS is not set | ||
845 | +# CONFIG_ISL29003 is not set | ||
846 | +# CONFIG_ISL29020 is not set | ||
847 | +# CONFIG_SENSORS_TSL2550 is not set | ||
848 | +# CONFIG_SENSORS_BH1780 is not set | ||
849 | +# CONFIG_SENSORS_BH1770 is not set | ||
850 | +# CONFIG_SENSORS_APDS990X is not set | ||
851 | +# CONFIG_HMC6352 is not set | ||
852 | +# CONFIG_SENSORS_AK8975 is not set | ||
853 | +# CONFIG_DS1682 is not set | ||
854 | +# CONFIG_TI_DAC7512 is not set | ||
855 | +# CONFIG_BMP085 is not set | ||
856 | +# CONFIG_PCH_PHUB is not set | ||
857 | +CONFIG_MXS_PERFMON=m | ||
858 | +# CONFIG_WL127X_RFKILL is not set | ||
859 | +# CONFIG_APANIC is not set | ||
860 | +# CONFIG_C2PORT is not set | ||
861 | + | ||
862 | +# | ||
863 | +# EEPROM support | ||
864 | +# | ||
865 | +# CONFIG_EEPROM_AT24 is not set | ||
866 | +# CONFIG_EEPROM_AT25 is not set | ||
867 | +# CONFIG_EEPROM_LEGACY is not set | ||
868 | +# CONFIG_EEPROM_MAX6875 is not set | ||
869 | +# CONFIG_EEPROM_93CX6 is not set | ||
870 | +# CONFIG_CB710_CORE is not set | ||
871 | +# CONFIG_IWMC3200TOP is not set | ||
872 | + | ||
873 | +# | ||
874 | +# Texas Instruments shared transport line discipline | ||
875 | +# | ||
876 | +# CONFIG_TI_ST is not set | ||
877 | +# CONFIG_SENSORS_LIS3_SPI is not set | ||
878 | +# CONFIG_SENSORS_LIS3_I2C is not set | ||
879 | +CONFIG_HAVE_IDE=y | ||
880 | +# CONFIG_IDE is not set | ||
881 | + | ||
882 | +# | ||
883 | +# SCSI device support | ||
884 | +# | ||
885 | +CONFIG_SCSI_MOD=y | ||
886 | +# CONFIG_RAID_ATTRS is not set | ||
887 | +CONFIG_SCSI=y | ||
888 | +CONFIG_SCSI_DMA=y | ||
889 | +# CONFIG_SCSI_TGT is not set | ||
890 | +# CONFIG_SCSI_NETLINK is not set | ||
891 | +CONFIG_SCSI_PROC_FS=y | ||
892 | + | ||
893 | +# | ||
894 | +# SCSI support type (disk, tape, CD-ROM) | ||
895 | +# | ||
896 | +CONFIG_BLK_DEV_SD=y | ||
897 | +# CONFIG_CHR_DEV_ST is not set | ||
898 | +# CONFIG_CHR_DEV_OSST is not set | ||
899 | +# CONFIG_BLK_DEV_SR is not set | ||
900 | +# CONFIG_CHR_DEV_SG is not set | ||
901 | +# CONFIG_CHR_DEV_SCH is not set | ||
902 | +CONFIG_SCSI_MULTI_LUN=y | ||
903 | +# CONFIG_SCSI_CONSTANTS is not set | ||
904 | +# CONFIG_SCSI_LOGGING is not set | ||
905 | +# CONFIG_SCSI_SCAN_ASYNC is not set | ||
906 | +CONFIG_SCSI_WAIT_SCAN=m | ||
907 | + | ||
908 | +# | ||
909 | +# SCSI Transports | ||
910 | +# | ||
911 | +# CONFIG_SCSI_SPI_ATTRS is not set | ||
912 | +# CONFIG_SCSI_FC_ATTRS is not set | ||
913 | +# CONFIG_SCSI_ISCSI_ATTRS is not set | ||
914 | +# CONFIG_SCSI_SAS_ATTRS is not set | ||
915 | +# CONFIG_SCSI_SAS_LIBSAS is not set | ||
916 | +# CONFIG_SCSI_SRP_ATTRS is not set | ||
917 | +CONFIG_SCSI_LOWLEVEL=y | ||
918 | +# CONFIG_ISCSI_TCP is not set | ||
919 | +# CONFIG_ISCSI_BOOT_SYSFS is not set | ||
920 | +# CONFIG_SCSI_CXGB3_ISCSI is not set | ||
921 | +# CONFIG_SCSI_CXGB4_ISCSI is not set | ||
922 | +# CONFIG_SCSI_BNX2_ISCSI is not set | ||
923 | +# CONFIG_SCSI_BNX2X_FCOE is not set | ||
924 | +# CONFIG_BE2ISCSI is not set | ||
925 | +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set | ||
926 | +# CONFIG_SCSI_HPSA is not set | ||
927 | +# CONFIG_SCSI_3W_9XXX is not set | ||
928 | +# CONFIG_SCSI_3W_SAS is not set | ||
929 | +# CONFIG_SCSI_ACARD is not set | ||
930 | +# CONFIG_SCSI_AACRAID is not set | ||
931 | +# CONFIG_SCSI_AIC7XXX is not set | ||
932 | +# CONFIG_SCSI_AIC7XXX_OLD is not set | ||
933 | +# CONFIG_SCSI_AIC79XX is not set | ||
934 | +# CONFIG_SCSI_AIC94XX is not set | ||
935 | +# CONFIG_SCSI_MVSAS is not set | ||
936 | +# CONFIG_SCSI_DPT_I2O is not set | ||
937 | +# CONFIG_SCSI_ADVANSYS is not set | ||
938 | +# CONFIG_SCSI_ARCMSR is not set | ||
939 | +# CONFIG_MEGARAID_NEWGEN is not set | ||
940 | +# CONFIG_MEGARAID_LEGACY is not set | ||
941 | +# CONFIG_MEGARAID_SAS is not set | ||
942 | +# CONFIG_SCSI_MPT2SAS is not set | ||
943 | +# CONFIG_SCSI_HPTIOP is not set | ||
944 | +# CONFIG_LIBFC is not set | ||
945 | +# CONFIG_LIBFCOE is not set | ||
946 | +# CONFIG_FCOE is not set | ||
947 | +# CONFIG_SCSI_DMX3191D is not set | ||
948 | +# CONFIG_SCSI_FUTURE_DOMAIN is not set | ||
949 | +# CONFIG_SCSI_IPS is not set | ||
950 | +# CONFIG_SCSI_INITIO is not set | ||
951 | +# CONFIG_SCSI_INIA100 is not set | ||
952 | +# CONFIG_SCSI_STEX is not set | ||
953 | +# CONFIG_SCSI_SYM53C8XX_2 is not set | ||
954 | +# CONFIG_SCSI_IPR is not set | ||
955 | +# CONFIG_SCSI_QLOGIC_1280 is not set | ||
956 | +# CONFIG_SCSI_QLA_FC is not set | ||
957 | +# CONFIG_SCSI_QLA_ISCSI is not set | ||
958 | +# CONFIG_SCSI_LPFC is not set | ||
959 | +# CONFIG_SCSI_DC395x is not set | ||
960 | +# CONFIG_SCSI_DC390T is not set | ||
961 | +# CONFIG_SCSI_NSP32 is not set | ||
962 | +# CONFIG_SCSI_DEBUG is not set | ||
963 | +# CONFIG_SCSI_PMCRAID is not set | ||
964 | +# CONFIG_SCSI_PM8001 is not set | ||
965 | +# CONFIG_SCSI_SRP is not set | ||
966 | +# CONFIG_SCSI_BFA_FC is not set | ||
967 | +# CONFIG_SCSI_DH is not set | ||
968 | +# CONFIG_SCSI_OSD_INITIATOR is not set | ||
969 | +CONFIG_ATA=y | ||
970 | +# CONFIG_ATA_NONSTANDARD is not set | ||
971 | +CONFIG_ATA_VERBOSE_ERROR=y | ||
972 | +# CONFIG_SATA_PMP is not set | ||
973 | + | ||
974 | +# | ||
975 | +# Controllers with non-SFF native interface | ||
976 | +# | ||
977 | +# CONFIG_SATA_AHCI is not set | ||
978 | +CONFIG_SATA_AHCI_PLATFORM=y | ||
979 | +# CONFIG_SATA_INIC162X is not set | ||
980 | +# CONFIG_SATA_ACARD_AHCI is not set | ||
981 | +# CONFIG_SATA_SIL24 is not set | ||
982 | +CONFIG_ATA_SFF=y | ||
983 | + | ||
984 | +# | ||
985 | +# SFF controllers with custom DMA interface | ||
986 | +# | ||
987 | +# CONFIG_PDC_ADMA is not set | ||
988 | +# CONFIG_SATA_QSTOR is not set | ||
989 | +# CONFIG_SATA_SX4 is not set | ||
990 | +CONFIG_ATA_BMDMA=y | ||
991 | + | ||
992 | +# | ||
993 | +# SATA SFF controllers with BMDMA | ||
994 | +# | ||
995 | +# CONFIG_ATA_PIIX is not set | ||
996 | +# CONFIG_SATA_MV is not set | ||
997 | +# CONFIG_SATA_NV is not set | ||
998 | +# CONFIG_SATA_PROMISE is not set | ||
999 | +# CONFIG_SATA_SIL is not set | ||
1000 | +# CONFIG_SATA_SIS is not set | ||
1001 | +# CONFIG_SATA_SVW is not set | ||
1002 | +# CONFIG_SATA_ULI is not set | ||
1003 | +# CONFIG_SATA_VIA is not set | ||
1004 | +# CONFIG_SATA_VITESSE is not set | ||
1005 | + | ||
1006 | +# | ||
1007 | +# PATA SFF controllers with BMDMA | ||
1008 | +# | ||
1009 | +# CONFIG_PATA_ALI is not set | ||
1010 | +# CONFIG_PATA_AMD is not set | ||
1011 | +# CONFIG_PATA_ARASAN_CF is not set | ||
1012 | +# CONFIG_PATA_ARTOP is not set | ||
1013 | +# CONFIG_PATA_ATIIXP is not set | ||
1014 | +# CONFIG_PATA_ATP867X is not set | ||
1015 | +# CONFIG_PATA_CMD64X is not set | ||
1016 | +# CONFIG_PATA_CS5520 is not set | ||
1017 | +# CONFIG_PATA_CS5530 is not set | ||
1018 | +# CONFIG_PATA_CS5536 is not set | ||
1019 | +# CONFIG_PATA_CYPRESS is not set | ||
1020 | +# CONFIG_PATA_EFAR is not set | ||
1021 | +# CONFIG_PATA_HPT366 is not set | ||
1022 | +# CONFIG_PATA_HPT37X is not set | ||
1023 | +# CONFIG_PATA_HPT3X2N is not set | ||
1024 | +# CONFIG_PATA_HPT3X3 is not set | ||
1025 | +# CONFIG_PATA_IT8213 is not set | ||
1026 | +# CONFIG_PATA_IT821X is not set | ||
1027 | +# CONFIG_PATA_JMICRON is not set | ||
1028 | +# CONFIG_PATA_MARVELL is not set | ||
1029 | +# CONFIG_PATA_NETCELL is not set | ||
1030 | +# CONFIG_PATA_NINJA32 is not set | ||
1031 | +# CONFIG_PATA_NS87415 is not set | ||
1032 | +# CONFIG_PATA_OLDPIIX is not set | ||
1033 | +# CONFIG_PATA_OPTIDMA is not set | ||
1034 | +# CONFIG_PATA_PDC2027X is not set | ||
1035 | +# CONFIG_PATA_PDC_OLD is not set | ||
1036 | +# CONFIG_PATA_RADISYS is not set | ||
1037 | +# CONFIG_PATA_RDC is not set | ||
1038 | +# CONFIG_PATA_SC1200 is not set | ||
1039 | +# CONFIG_PATA_SCH is not set | ||
1040 | +# CONFIG_PATA_SERVERWORKS is not set | ||
1041 | +# CONFIG_PATA_SIL680 is not set | ||
1042 | +# CONFIG_PATA_SIS is not set | ||
1043 | +# CONFIG_PATA_TOSHIBA is not set | ||
1044 | +# CONFIG_PATA_TRIFLEX is not set | ||
1045 | +# CONFIG_PATA_VIA is not set | ||
1046 | +# CONFIG_PATA_WINBOND is not set | ||
1047 | + | ||
1048 | +# | ||
1049 | +# PIO-only SFF controllers | ||
1050 | +# | ||
1051 | +# CONFIG_PATA_CMD640_PCI is not set | ||
1052 | +# CONFIG_PATA_MPIIX is not set | ||
1053 | +# CONFIG_PATA_NS87410 is not set | ||
1054 | +# CONFIG_PATA_OPTI is not set | ||
1055 | +# CONFIG_PATA_PLATFORM is not set | ||
1056 | +# CONFIG_PATA_RZ1000 is not set | ||
1057 | + | ||
1058 | +# | ||
1059 | +# Generic fallback / legacy drivers | ||
1060 | +# | ||
1061 | +# CONFIG_ATA_GENERIC is not set | ||
1062 | +# CONFIG_PATA_LEGACY is not set | ||
1063 | +# CONFIG_MD is not set | ||
1064 | +# CONFIG_TARGET_CORE is not set | ||
1065 | +# CONFIG_FUSION is not set | ||
1066 | + | ||
1067 | +# | ||
1068 | +# IEEE 1394 (FireWire) support | ||
1069 | +# | ||
1070 | +# CONFIG_FIREWIRE is not set | ||
1071 | +# CONFIG_FIREWIRE_NOSY is not set | ||
1072 | +# CONFIG_I2O is not set | ||
1073 | +CONFIG_NETDEVICES=y | ||
1074 | +# CONFIG_DUMMY is not set | ||
1075 | +# CONFIG_BONDING is not set | ||
1076 | +# CONFIG_MACVLAN is not set | ||
1077 | +# CONFIG_EQUALIZER is not set | ||
1078 | +CONFIG_TUN=y | ||
1079 | +# CONFIG_VETH is not set | ||
1080 | +# CONFIG_ARCNET is not set | ||
1081 | +CONFIG_MII=y | ||
1082 | +CONFIG_PHYLIB=y | ||
1083 | + | ||
1084 | +# | ||
1085 | +# MII PHY device drivers | ||
1086 | +# | ||
1087 | +# CONFIG_MARVELL_PHY is not set | ||
1088 | +# CONFIG_DAVICOM_PHY is not set | ||
1089 | +# CONFIG_QSEMI_PHY is not set | ||
1090 | +# CONFIG_LXT_PHY is not set | ||
1091 | +# CONFIG_CICADA_PHY is not set | ||
1092 | +# CONFIG_VITESSE_PHY is not set | ||
1093 | +# CONFIG_SMSC_PHY is not set | ||
1094 | +# CONFIG_BROADCOM_PHY is not set | ||
1095 | +# CONFIG_ICPLUS_PHY is not set | ||
1096 | +# CONFIG_REALTEK_PHY is not set | ||
1097 | +# CONFIG_NATIONAL_PHY is not set | ||
1098 | +# CONFIG_STE10XP is not set | ||
1099 | +# CONFIG_LSI_ET1011C_PHY is not set | ||
1100 | +CONFIG_MICREL_PHY=y | ||
1101 | +# CONFIG_FIXED_PHY is not set | ||
1102 | +# CONFIG_MDIO_BITBANG is not set | ||
1103 | +CONFIG_NET_ETHERNET=y | ||
1104 | +# CONFIG_AX88796 is not set | ||
1105 | +# CONFIG_HAPPYMEAL is not set | ||
1106 | +# CONFIG_SUNGEM is not set | ||
1107 | +# CONFIG_CASSINI is not set | ||
1108 | +# CONFIG_NET_VENDOR_3COM is not set | ||
1109 | +# CONFIG_SMC91X is not set | ||
1110 | +# CONFIG_DM9000 is not set | ||
1111 | +# CONFIG_ENC28J60 is not set | ||
1112 | +# CONFIG_ETHOC is not set | ||
1113 | +# CONFIG_SMC911X is not set | ||
1114 | +# CONFIG_SMSC911X is not set | ||
1115 | +# CONFIG_DNET is not set | ||
1116 | +# CONFIG_NET_TULIP is not set | ||
1117 | +# CONFIG_HP100 is not set | ||
1118 | +# CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
1119 | +# CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
1120 | +# CONFIG_IBM_NEW_EMAC_TAH is not set | ||
1121 | +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
1122 | +# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
1123 | +# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
1124 | +# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
1125 | +# CONFIG_NET_PCI is not set | ||
1126 | +# CONFIG_B44 is not set | ||
1127 | +# CONFIG_KS8842 is not set | ||
1128 | +# CONFIG_KS8851 is not set | ||
1129 | +# CONFIG_KS8851_MLL is not set | ||
1130 | +CONFIG_FEC=y | ||
1131 | +# CONFIG_FEC_NAPI is not set | ||
1132 | +# CONFIG_FEC_1588 is not set | ||
1133 | +# CONFIG_ATL2 is not set | ||
1134 | +# CONFIG_FTMAC100 is not set | ||
1135 | +# CONFIG_NETDEV_1000 is not set | ||
1136 | +# CONFIG_NETDEV_10000 is not set | ||
1137 | +# CONFIG_TR is not set | ||
1138 | +CONFIG_WLAN=y | ||
1139 | +# CONFIG_LIBERTAS_THINFIRM is not set | ||
1140 | +# CONFIG_ATMEL is not set | ||
1141 | +# CONFIG_AT76C50X_USB is not set | ||
1142 | +# CONFIG_PRISM54 is not set | ||
1143 | +# CONFIG_USB_ZD1201 is not set | ||
1144 | +# CONFIG_USB_NET_RNDIS_WLAN is not set | ||
1145 | +# CONFIG_RTL8180 is not set | ||
1146 | +# CONFIG_RTL8187 is not set | ||
1147 | +# CONFIG_ADM8211 is not set | ||
1148 | +# CONFIG_MAC80211_HWSIM is not set | ||
1149 | +# CONFIG_MWL8K is not set | ||
1150 | +# CONFIG_WIFI_CONTROL_FUNC is not set | ||
1151 | +# CONFIG_ATH_COMMON is not set | ||
1152 | +# CONFIG_B43 is not set | ||
1153 | +# CONFIG_B43LEGACY is not set | ||
1154 | +# CONFIG_BCM4329 is not set | ||
1155 | +# CONFIG_BCMDHD is not set | ||
1156 | +CONFIG_HOSTAP=y | ||
1157 | +# CONFIG_HOSTAP_FIRMWARE is not set | ||
1158 | +# CONFIG_HOSTAP_PLX is not set | ||
1159 | +# CONFIG_HOSTAP_PCI is not set | ||
1160 | +# CONFIG_IPW2100 is not set | ||
1161 | +# CONFIG_IPW2200 is not set | ||
1162 | +# CONFIG_IWLAGN is not set | ||
1163 | +# CONFIG_IWL4965 is not set | ||
1164 | +# CONFIG_IWL3945 is not set | ||
1165 | +# CONFIG_IWM is not set | ||
1166 | +# CONFIG_LIBERTAS is not set | ||
1167 | +# CONFIG_HERMES is not set | ||
1168 | +# CONFIG_P54_COMMON is not set | ||
1169 | +# CONFIG_RT2X00 is not set | ||
1170 | +# CONFIG_RTL8192CE is not set | ||
1171 | +# CONFIG_RTL8192SE is not set | ||
1172 | +# CONFIG_RTL8192CU is not set | ||
1173 | +# CONFIG_WL1251 is not set | ||
1174 | +CONFIG_WL12XX_MENU=y | ||
1175 | +CONFIG_WL12XX=y | ||
1176 | +# CONFIG_WL12XX_HT is not set | ||
1177 | +# CONFIG_WL12XX_SPI is not set | ||
1178 | +CONFIG_WL12XX_SDIO=m | ||
1179 | +# CONFIG_WL12XX_SDIO_TEST is not set | ||
1180 | +CONFIG_WL12XX_PLATFORM_DATA=y | ||
1181 | +# CONFIG_ZD1211RW is not set | ||
1182 | +# CONFIG_MWIFIEX is not set | ||
1183 | + | ||
1184 | +# | ||
1185 | +# Enable WiMAX (Networking options) to see the WiMAX drivers | ||
1186 | +# | ||
1187 | + | ||
1188 | +# | ||
1189 | +# USB Network Adapters | ||
1190 | +# | ||
1191 | +# CONFIG_USB_CATC is not set | ||
1192 | +# CONFIG_USB_KAWETH is not set | ||
1193 | +# CONFIG_USB_PEGASUS is not set | ||
1194 | +# CONFIG_USB_RTL8150 is not set | ||
1195 | +# CONFIG_USB_USBNET is not set | ||
1196 | +# CONFIG_USB_HSO is not set | ||
1197 | +# CONFIG_USB_IPHETH is not set | ||
1198 | +# CONFIG_WAN is not set | ||
1199 | + | ||
1200 | +# | ||
1201 | +# CAIF transport drivers | ||
1202 | +# | ||
1203 | +# CONFIG_PPP is not set | ||
1204 | +# CONFIG_SLIP is not set | ||
1205 | +# CONFIG_NETCONSOLE is not set | ||
1206 | +# CONFIG_NETPOLL is not set | ||
1207 | +# CONFIG_NET_POLL_CONTROLLER is not set | ||
1208 | +# CONFIG_ISDN is not set | ||
1209 | +# CONFIG_PHONE is not set | ||
1210 | + | ||
1211 | +# | ||
1212 | +# Input device support | ||
1213 | +# | ||
1214 | +CONFIG_INPUT=y | ||
1215 | +# CONFIG_INPUT_FF_MEMLESS is not set | ||
1216 | +CONFIG_INPUT_POLLDEV=y | ||
1217 | +# CONFIG_INPUT_SPARSEKMAP is not set | ||
1218 | + | ||
1219 | +# | ||
1220 | +# Userland interfaces | ||
1221 | +# | ||
1222 | +CONFIG_INPUT_MOUSEDEV=y | ||
1223 | +CONFIG_INPUT_MOUSEDEV_PSAUX=y | ||
1224 | +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
1225 | +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
1226 | +# CONFIG_INPUT_JOYDEV is not set | ||
1227 | +CONFIG_INPUT_EVDEV=y | ||
1228 | +# CONFIG_INPUT_EVBUG is not set | ||
1229 | +# CONFIG_INPUT_APMPOWER is not set | ||
1230 | + | ||
1231 | +# | ||
1232 | +# Input Device Drivers | ||
1233 | +# | ||
1234 | +CONFIG_INPUT_KEYBOARD=y | ||
1235 | +# CONFIG_KEYBOARD_ADP5588 is not set | ||
1236 | +# CONFIG_KEYBOARD_ADP5589 is not set | ||
1237 | +CONFIG_KEYBOARD_ATKBD=y | ||
1238 | +# CONFIG_KEYBOARD_QT1070 is not set | ||
1239 | +# CONFIG_KEYBOARD_QT2160 is not set | ||
1240 | +# CONFIG_KEYBOARD_LKKBD is not set | ||
1241 | +CONFIG_KEYBOARD_GPIO=y | ||
1242 | +# CONFIG_KEYBOARD_TCA6416 is not set | ||
1243 | +# CONFIG_KEYBOARD_MATRIX is not set | ||
1244 | +# CONFIG_KEYBOARD_LM8323 is not set | ||
1245 | +# CONFIG_KEYBOARD_MAX7359 is not set | ||
1246 | +# CONFIG_KEYBOARD_MCS is not set | ||
1247 | +# CONFIG_KEYBOARD_MPR121 is not set | ||
1248 | +# CONFIG_KEYBOARD_IMX is not set | ||
1249 | +# CONFIG_KEYBOARD_NEWTON is not set | ||
1250 | +# CONFIG_KEYBOARD_OPENCORES is not set | ||
1251 | +# CONFIG_KEYBOARD_STOWAWAY is not set | ||
1252 | +# CONFIG_KEYBOARD_SUNKBD is not set | ||
1253 | +# CONFIG_KEYBOARD_XTKBD is not set | ||
1254 | +# CONFIG_KEYBOARD_MXC is not set | ||
1255 | +# CONFIG_INPUT_MOUSE is not set | ||
1256 | +# CONFIG_INPUT_JOYSTICK is not set | ||
1257 | +# CONFIG_INPUT_TABLET is not set | ||
1258 | +CONFIG_INPUT_TOUCHSCREEN=y | ||
1259 | +# CONFIG_TOUCHSCREEN_ADS7846 is not set | ||
1260 | +# CONFIG_TOUCHSCREEN_AD7877 is not set | ||
1261 | +# CONFIG_TOUCHSCREEN_AD7879 is not set | ||
1262 | +# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set | ||
1263 | +# CONFIG_TOUCHSCREEN_BU21013 is not set | ||
1264 | +# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set | ||
1265 | +# CONFIG_TOUCHSCREEN_DYNAPRO is not set | ||
1266 | +# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set | ||
1267 | +# CONFIG_TOUCHSCREEN_EETI is not set | ||
1268 | +CONFIG_TOUCHSCREEN_EGALAX=y | ||
1269 | +# CONFIG_TOUCHSCREEN_ELAN is not set | ||
1270 | +# CONFIG_TOUCHSCREEN_FUJITSU is not set | ||
1271 | +# CONFIG_TOUCHSCREEN_GUNZE is not set | ||
1272 | +# CONFIG_TOUCHSCREEN_ELO is not set | ||
1273 | +# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set | ||
1274 | +# CONFIG_TOUCHSCREEN_MAX11801 is not set | ||
1275 | +CONFIG_TOUCHSCREEN_FT5X06=y | ||
1276 | +CONFIG_TOUCHSCREEN_FT5X06_SINGLE_TOUCH=y | ||
1277 | +# CONFIG_TOUCHSCREEN_MCS5000 is not set | ||
1278 | +# CONFIG_TOUCHSCREEN_MTOUCH is not set | ||
1279 | +# CONFIG_TOUCHSCREEN_INEXIO is not set | ||
1280 | +# CONFIG_TOUCHSCREEN_MK712 is not set | ||
1281 | +# CONFIG_TOUCHSCREEN_PENMOUNT is not set | ||
1282 | +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI is not set | ||
1283 | +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | ||
1284 | +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set | ||
1285 | +# CONFIG_TOUCHSCREEN_WM97XX is not set | ||
1286 | +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set | ||
1287 | +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set | ||
1288 | +# CONFIG_TOUCHSCREEN_TSC2005 is not set | ||
1289 | +# CONFIG_TOUCHSCREEN_TSC2007 is not set | ||
1290 | +CONFIG_TOUCHSCREEN_TSC2004=y | ||
1291 | +# CONFIG_TOUCHSCREEN_W90X900 is not set | ||
1292 | +# CONFIG_TOUCHSCREEN_ST1232 is not set | ||
1293 | +# CONFIG_TOUCHSCREEN_P1003 is not set | ||
1294 | +# CONFIG_TOUCHSCREEN_TPS6507X is not set | ||
1295 | +CONFIG_INPUT_MISC=y | ||
1296 | +# CONFIG_INPUT_AD714X is not set | ||
1297 | +# CONFIG_INPUT_ATI_REMOTE is not set | ||
1298 | +# CONFIG_INPUT_ATI_REMOTE2 is not set | ||
1299 | +# CONFIG_INPUT_KEYCHORD is not set | ||
1300 | +# CONFIG_INPUT_KEYSPAN_REMOTE is not set | ||
1301 | +# CONFIG_INPUT_POWERMATE is not set | ||
1302 | +# CONFIG_INPUT_YEALINK is not set | ||
1303 | +# CONFIG_INPUT_CM109 is not set | ||
1304 | +CONFIG_INPUT_UINPUT=y | ||
1305 | +# CONFIG_INPUT_GPIO is not set | ||
1306 | +# CONFIG_INPUT_PCF8574 is not set | ||
1307 | +# CONFIG_INPUT_PWM_BEEPER is not set | ||
1308 | +# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set | ||
1309 | +# CONFIG_INPUT_ADXL34X is not set | ||
1310 | +# CONFIG_INPUT_CMA3000 is not set | ||
1311 | +CONFIG_INPUT_ISL29023=y | ||
1312 | + | ||
1313 | +# | ||
1314 | +# Hardware I/O ports | ||
1315 | +# | ||
1316 | +CONFIG_SERIO=y | ||
1317 | +CONFIG_SERIO_SERPORT=y | ||
1318 | +# CONFIG_SERIO_PCIPS2 is not set | ||
1319 | +CONFIG_SERIO_LIBPS2=y | ||
1320 | +# CONFIG_SERIO_RAW is not set | ||
1321 | +# CONFIG_SERIO_ALTERA_PS2 is not set | ||
1322 | +# CONFIG_SERIO_PS2MULT is not set | ||
1323 | +# CONFIG_GAMEPORT is not set | ||
1324 | + | ||
1325 | +# | ||
1326 | +# Character devices | ||
1327 | +# | ||
1328 | +CONFIG_VT=y | ||
1329 | +CONFIG_CONSOLE_TRANSLATIONS=y | ||
1330 | +CONFIG_VT_CONSOLE=y | ||
1331 | +CONFIG_HW_CONSOLE=y | ||
1332 | +CONFIG_VT_HW_CONSOLE_BINDING=y | ||
1333 | +CONFIG_UNIX98_PTYS=y | ||
1334 | +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
1335 | +CONFIG_LEGACY_PTYS=y | ||
1336 | +CONFIG_LEGACY_PTY_COUNT=256 | ||
1337 | +# CONFIG_SERIAL_NONSTANDARD is not set | ||
1338 | +# CONFIG_NOZOMI is not set | ||
1339 | +# CONFIG_N_GSM is not set | ||
1340 | +# CONFIG_TRACE_SINK is not set | ||
1341 | +CONFIG_DEVMEM=y | ||
1342 | +CONFIG_DEVKMEM=y | ||
1343 | + | ||
1344 | +# | ||
1345 | +# Serial drivers | ||
1346 | +# | ||
1347 | +# CONFIG_SERIAL_8250 is not set | ||
1348 | + | ||
1349 | +# | ||
1350 | +# Non-8250 serial port support | ||
1351 | +# | ||
1352 | +# CONFIG_SERIAL_MAX3100 is not set | ||
1353 | +# CONFIG_SERIAL_MAX3107 is not set | ||
1354 | +# CONFIG_SERIAL_MFD_HSU is not set | ||
1355 | +CONFIG_SERIAL_IMX=y | ||
1356 | +CONFIG_SERIAL_IMX_CONSOLE=y | ||
1357 | +CONFIG_SERIAL_CORE=y | ||
1358 | +CONFIG_SERIAL_CORE_CONSOLE=y | ||
1359 | +# CONFIG_SERIAL_JSM is not set | ||
1360 | +# CONFIG_SERIAL_TIMBERDALE is not set | ||
1361 | +# CONFIG_SERIAL_ALTERA_JTAGUART is not set | ||
1362 | +# CONFIG_SERIAL_ALTERA_UART is not set | ||
1363 | +# CONFIG_SERIAL_IFX6X60 is not set | ||
1364 | +# CONFIG_SERIAL_PCH_UART is not set | ||
1365 | +# CONFIG_SERIAL_XILINX_PS_UART is not set | ||
1366 | +# CONFIG_TTY_PRINTK is not set | ||
1367 | +CONFIG_FSL_OTP=y | ||
1368 | +# CONFIG_HVC_DCC is not set | ||
1369 | +# CONFIG_IPMI_HANDLER is not set | ||
1370 | +CONFIG_HW_RANDOM=y | ||
1371 | +# CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
1372 | +# CONFIG_R3964 is not set | ||
1373 | +# CONFIG_APPLICOM is not set | ||
1374 | +# CONFIG_RAW_DRIVER is not set | ||
1375 | +# CONFIG_TCG_TPM is not set | ||
1376 | +CONFIG_DEVPORT=y | ||
1377 | +# CONFIG_DCC_TTY is not set | ||
1378 | +# CONFIG_RAMOOPS is not set | ||
1379 | +CONFIG_MXS_VIIM=y | ||
1380 | +CONFIG_I2C=y | ||
1381 | +CONFIG_I2C_BOARDINFO=y | ||
1382 | +CONFIG_I2C_COMPAT=y | ||
1383 | +CONFIG_I2C_CHARDEV=y | ||
1384 | +# CONFIG_I2C_MUX is not set | ||
1385 | +CONFIG_I2C_HELPER_AUTO=y | ||
1386 | + | ||
1387 | +# | ||
1388 | +# I2C Hardware Bus support | ||
1389 | +# | ||
1390 | + | ||
1391 | +# | ||
1392 | +# PC SMBus host controller drivers | ||
1393 | +# | ||
1394 | +# CONFIG_I2C_ALI1535 is not set | ||
1395 | +# CONFIG_I2C_ALI1563 is not set | ||
1396 | +# CONFIG_I2C_ALI15X3 is not set | ||
1397 | +# CONFIG_I2C_AMD756 is not set | ||
1398 | +# CONFIG_I2C_AMD8111 is not set | ||
1399 | +# CONFIG_I2C_I801 is not set | ||
1400 | +# CONFIG_I2C_ISCH is not set | ||
1401 | +# CONFIG_I2C_PIIX4 is not set | ||
1402 | +# CONFIG_I2C_NFORCE2 is not set | ||
1403 | +# CONFIG_I2C_SIS5595 is not set | ||
1404 | +# CONFIG_I2C_SIS630 is not set | ||
1405 | +# CONFIG_I2C_SIS96X is not set | ||
1406 | +# CONFIG_I2C_VIA is not set | ||
1407 | +# CONFIG_I2C_VIAPRO is not set | ||
1408 | + | ||
1409 | +# | ||
1410 | +# I2C system bus drivers (mostly embedded / system-on-chip) | ||
1411 | +# | ||
1412 | +# CONFIG_I2C_DESIGNWARE is not set | ||
1413 | +# CONFIG_I2C_GPIO is not set | ||
1414 | +CONFIG_I2C_IMX=y | ||
1415 | +# CONFIG_I2C_INTEL_MID is not set | ||
1416 | +# CONFIG_I2C_OCORES is not set | ||
1417 | +# CONFIG_I2C_PCA_PLATFORM is not set | ||
1418 | +# CONFIG_I2C_PXA_PCI is not set | ||
1419 | +# CONFIG_I2C_SIMTEC is not set | ||
1420 | +# CONFIG_I2C_XILINX is not set | ||
1421 | +# CONFIG_I2C_EG20T is not set | ||
1422 | + | ||
1423 | +# | ||
1424 | +# External I2C/SMBus adapter drivers | ||
1425 | +# | ||
1426 | +# CONFIG_I2C_DIOLAN_U2C is not set | ||
1427 | +# CONFIG_I2C_PARPORT_LIGHT is not set | ||
1428 | +# CONFIG_I2C_TAOS_EVM is not set | ||
1429 | +# CONFIG_I2C_TINY_USB is not set | ||
1430 | + | ||
1431 | +# | ||
1432 | +# Other I2C/SMBus bus drivers | ||
1433 | +# | ||
1434 | +# CONFIG_I2C_STUB is not set | ||
1435 | +# CONFIG_I2C_DEBUG_CORE is not set | ||
1436 | +# CONFIG_I2C_DEBUG_ALGO is not set | ||
1437 | +# CONFIG_I2C_DEBUG_BUS is not set | ||
1438 | +CONFIG_SPI=y | ||
1439 | +CONFIG_SPI_MASTER=y | ||
1440 | + | ||
1441 | +# | ||
1442 | +# SPI Master Controller Drivers | ||
1443 | +# | ||
1444 | +# CONFIG_SPI_ALTERA is not set | ||
1445 | +CONFIG_SPI_BITBANG=y | ||
1446 | +# CONFIG_SPI_GPIO is not set | ||
1447 | +CONFIG_SPI_IMX_VER_2_3=y | ||
1448 | +CONFIG_SPI_IMX=y | ||
1449 | +# CONFIG_SPI_OC_TINY is not set | ||
1450 | +# CONFIG_SPI_PXA2XX_PCI is not set | ||
1451 | +# CONFIG_SPI_TOPCLIFF_PCH is not set | ||
1452 | +# CONFIG_SPI_XILINX is not set | ||
1453 | +# CONFIG_SPI_DESIGNWARE is not set | ||
1454 | + | ||
1455 | +# | ||
1456 | +# SPI Protocol Masters | ||
1457 | +# | ||
1458 | +# CONFIG_SPI_SPIDEV is not set | ||
1459 | +# CONFIG_SPI_TLE62X0 is not set | ||
1460 | + | ||
1461 | +# | ||
1462 | +# PPS support | ||
1463 | +# | ||
1464 | +# CONFIG_PPS is not set | ||
1465 | + | ||
1466 | +# | ||
1467 | +# PPS generators support | ||
1468 | +# | ||
1469 | + | ||
1470 | +# | ||
1471 | +# PTP clock support | ||
1472 | +# | ||
1473 | + | ||
1474 | +# | ||
1475 | +# Enable Device Drivers -> PPS to see the PTP clock options. | ||
1476 | +# | ||
1477 | +CONFIG_ARCH_REQUIRE_GPIOLIB=y | ||
1478 | +CONFIG_GPIOLIB=y | ||
1479 | +CONFIG_GPIO_SYSFS=y | ||
1480 | + | ||
1481 | +# | ||
1482 | +# Memory mapped GPIO drivers: | ||
1483 | +# | ||
1484 | +# CONFIG_GPIO_BASIC_MMIO is not set | ||
1485 | +# CONFIG_GPIO_IT8761E is not set | ||
1486 | +# CONFIG_GPIO_VX855 is not set | ||
1487 | + | ||
1488 | +# | ||
1489 | +# I2C GPIO expanders: | ||
1490 | +# | ||
1491 | +# CONFIG_GPIO_MAX7300 is not set | ||
1492 | +# CONFIG_GPIO_MAX732X is not set | ||
1493 | +# CONFIG_GPIO_PCA953X_IRQ is not set | ||
1494 | +# CONFIG_GPIO_PCF857X is not set | ||
1495 | +# CONFIG_GPIO_SX150X is not set | ||
1496 | +# CONFIG_GPIO_WM8994 is not set | ||
1497 | +# CONFIG_GPIO_ADP5588 is not set | ||
1498 | + | ||
1499 | +# | ||
1500 | +# PCI GPIO expanders: | ||
1501 | +# | ||
1502 | +# CONFIG_GPIO_BT8XX is not set | ||
1503 | +# CONFIG_GPIO_ML_IOH is not set | ||
1504 | +# CONFIG_GPIO_RDC321X is not set | ||
1505 | + | ||
1506 | +# | ||
1507 | +# SPI GPIO expanders: | ||
1508 | +# | ||
1509 | +# CONFIG_GPIO_MAX7301 is not set | ||
1510 | +# CONFIG_GPIO_MCP23S08 is not set | ||
1511 | +# CONFIG_GPIO_MC33880 is not set | ||
1512 | +# CONFIG_GPIO_74X164 is not set | ||
1513 | + | ||
1514 | +# | ||
1515 | +# AC97 GPIO expanders: | ||
1516 | +# | ||
1517 | + | ||
1518 | +# | ||
1519 | +# MODULbus GPIO expanders: | ||
1520 | +# | ||
1521 | +# CONFIG_W1 is not set | ||
1522 | +CONFIG_POWER_SUPPLY=y | ||
1523 | +# CONFIG_POWER_SUPPLY_DEBUG is not set | ||
1524 | +# CONFIG_PDA_POWER is not set | ||
1525 | +# CONFIG_APM_POWER is not set | ||
1526 | +# CONFIG_TEST_POWER is not set | ||
1527 | +# CONFIG_BATTERY_DS2780 is not set | ||
1528 | +# CONFIG_BATTERY_DS2782 is not set | ||
1529 | +# CONFIG_BATTERY_BQ20Z75 is not set | ||
1530 | +# CONFIG_BATTERY_BQ27x00 is not set | ||
1531 | +# CONFIG_BATTERY_MAX17040 is not set | ||
1532 | +# CONFIG_BATTERY_MAX17042 is not set | ||
1533 | +# CONFIG_CHARGER_ISP1704 is not set | ||
1534 | +# CONFIG_CHARGER_MAX8903 is not set | ||
1535 | +# CONFIG_CHARGER_GPIO is not set | ||
1536 | +CONFIG_HWMON=y | ||
1537 | +# CONFIG_HWMON_VID is not set | ||
1538 | +# CONFIG_HWMON_DEBUG_CHIP is not set | ||
1539 | + | ||
1540 | +# | ||
1541 | +# Native drivers | ||
1542 | +# | ||
1543 | +# CONFIG_SENSORS_AD7414 is not set | ||
1544 | +# CONFIG_SENSORS_AD7418 is not set | ||
1545 | +# CONFIG_SENSORS_ADCXX is not set | ||
1546 | +# CONFIG_SENSORS_ADM1021 is not set | ||
1547 | +# CONFIG_SENSORS_ADM1025 is not set | ||
1548 | +# CONFIG_SENSORS_ADM1026 is not set | ||
1549 | +# CONFIG_SENSORS_ADM1029 is not set | ||
1550 | +# CONFIG_SENSORS_ADM1031 is not set | ||
1551 | +# CONFIG_SENSORS_ADM9240 is not set | ||
1552 | +# CONFIG_SENSORS_ADT7411 is not set | ||
1553 | +# CONFIG_SENSORS_ADT7462 is not set | ||
1554 | +# CONFIG_SENSORS_ADT7470 is not set | ||
1555 | +# CONFIG_SENSORS_ADT7475 is not set | ||
1556 | +# CONFIG_SENSORS_ASC7621 is not set | ||
1557 | +# CONFIG_SENSORS_ATXP1 is not set | ||
1558 | +# CONFIG_SENSORS_DS620 is not set | ||
1559 | +# CONFIG_SENSORS_DS1621 is not set | ||
1560 | +# CONFIG_SENSORS_I5K_AMB is not set | ||
1561 | +# CONFIG_SENSORS_F71805F is not set | ||
1562 | +# CONFIG_SENSORS_F71882FG is not set | ||
1563 | +# CONFIG_SENSORS_F75375S is not set | ||
1564 | +# CONFIG_SENSORS_G760A is not set | ||
1565 | +# CONFIG_SENSORS_GL518SM is not set | ||
1566 | +# CONFIG_SENSORS_GL520SM is not set | ||
1567 | +# CONFIG_SENSORS_GPIO_FAN is not set | ||
1568 | +# CONFIG_SENSORS_IT87 is not set | ||
1569 | +# CONFIG_SENSORS_JC42 is not set | ||
1570 | +# CONFIG_SENSORS_LINEAGE is not set | ||
1571 | +# CONFIG_SENSORS_LM63 is not set | ||
1572 | +# CONFIG_SENSORS_LM70 is not set | ||
1573 | +# CONFIG_SENSORS_LM73 is not set | ||
1574 | +# CONFIG_SENSORS_LM75 is not set | ||
1575 | +# CONFIG_SENSORS_LM77 is not set | ||
1576 | +# CONFIG_SENSORS_LM78 is not set | ||
1577 | +# CONFIG_SENSORS_LM80 is not set | ||
1578 | +# CONFIG_SENSORS_LM83 is not set | ||
1579 | +# CONFIG_SENSORS_LM85 is not set | ||
1580 | +# CONFIG_SENSORS_LM87 is not set | ||
1581 | +# CONFIG_SENSORS_LM90 is not set | ||
1582 | +# CONFIG_SENSORS_LM92 is not set | ||
1583 | +# CONFIG_SENSORS_LM93 is not set | ||
1584 | +# CONFIG_SENSORS_LTC4151 is not set | ||
1585 | +# CONFIG_SENSORS_LTC4215 is not set | ||
1586 | +# CONFIG_SENSORS_LTC4245 is not set | ||
1587 | +# CONFIG_SENSORS_LTC4261 is not set | ||
1588 | +# CONFIG_SENSORS_LM95241 is not set | ||
1589 | +# CONFIG_SENSORS_MAX1111 is not set | ||
1590 | +# CONFIG_SENSORS_MAX16065 is not set | ||
1591 | +# CONFIG_SENSORS_MAX1619 is not set | ||
1592 | +# CONFIG_SENSORS_MAX6639 is not set | ||
1593 | +# CONFIG_SENSORS_MAX6642 is not set | ||
1594 | +CONFIG_SENSORS_MAX17135=y | ||
1595 | +# CONFIG_SENSORS_MAX6650 is not set | ||
1596 | +# CONFIG_SENSORS_PC87360 is not set | ||
1597 | +# CONFIG_SENSORS_PC87427 is not set | ||
1598 | +# CONFIG_SENSORS_PCF8591 is not set | ||
1599 | +# CONFIG_PMBUS is not set | ||
1600 | +# CONFIG_SENSORS_SHT15 is not set | ||
1601 | +# CONFIG_SENSORS_SHT21 is not set | ||
1602 | +# CONFIG_SENSORS_SIS5595 is not set | ||
1603 | +# CONFIG_SENSORS_SMM665 is not set | ||
1604 | +# CONFIG_SENSORS_DME1737 is not set | ||
1605 | +# CONFIG_SENSORS_EMC1403 is not set | ||
1606 | +# CONFIG_SENSORS_EMC2103 is not set | ||
1607 | +# CONFIG_SENSORS_EMC6W201 is not set | ||
1608 | +# CONFIG_SENSORS_SMSC47M1 is not set | ||
1609 | +# CONFIG_SENSORS_SMSC47M192 is not set | ||
1610 | +# CONFIG_SENSORS_SMSC47B397 is not set | ||
1611 | +# CONFIG_SENSORS_SCH5627 is not set | ||
1612 | +# CONFIG_SENSORS_ADS1015 is not set | ||
1613 | +# CONFIG_SENSORS_ADS7828 is not set | ||
1614 | +# CONFIG_SENSORS_ADS7871 is not set | ||
1615 | +# CONFIG_SENSORS_AMC6821 is not set | ||
1616 | +# CONFIG_SENSORS_THMC50 is not set | ||
1617 | +# CONFIG_SENSORS_TMP102 is not set | ||
1618 | +# CONFIG_SENSORS_TMP401 is not set | ||
1619 | +# CONFIG_SENSORS_TMP421 is not set | ||
1620 | +# CONFIG_SENSORS_VIA686A is not set | ||
1621 | +# CONFIG_SENSORS_VT1211 is not set | ||
1622 | +# CONFIG_SENSORS_VT8231 is not set | ||
1623 | +# CONFIG_SENSORS_W83781D is not set | ||
1624 | +# CONFIG_SENSORS_W83791D is not set | ||
1625 | +# CONFIG_SENSORS_W83792D is not set | ||
1626 | +# CONFIG_SENSORS_W83793 is not set | ||
1627 | +# CONFIG_SENSORS_W83795 is not set | ||
1628 | +# CONFIG_SENSORS_W83L785TS is not set | ||
1629 | +# CONFIG_SENSORS_W83L786NG is not set | ||
1630 | +# CONFIG_SENSORS_W83627HF is not set | ||
1631 | +# CONFIG_SENSORS_W83627EHF is not set | ||
1632 | +CONFIG_SENSORS_MAG3110=y | ||
1633 | +# CONFIG_MXC_MMA8450 is not set | ||
1634 | +CONFIG_MXC_MMA8451=y | ||
1635 | +CONFIG_THERMAL=y | ||
1636 | +# CONFIG_THERMAL_HWMON is not set | ||
1637 | +CONFIG_WATCHDOG=y | ||
1638 | +CONFIG_WATCHDOG_NOWAYOUT=y | ||
1639 | + | ||
1640 | +# | ||
1641 | +# Watchdog Device Drivers | ||
1642 | +# | ||
1643 | +# CONFIG_SOFT_WATCHDOG is not set | ||
1644 | +# CONFIG_MPCORE_WATCHDOG is not set | ||
1645 | +# CONFIG_MAX63XX_WATCHDOG is not set | ||
1646 | +CONFIG_IMX2_WDT=y | ||
1647 | +# CONFIG_ALIM7101_WDT is not set | ||
1648 | + | ||
1649 | +# | ||
1650 | +# PCI-based Watchdog Cards | ||
1651 | +# | ||
1652 | +# CONFIG_PCIPCWATCHDOG is not set | ||
1653 | +# CONFIG_WDTPCI is not set | ||
1654 | + | ||
1655 | +# | ||
1656 | +# USB-based Watchdog Cards | ||
1657 | +# | ||
1658 | +# CONFIG_USBPCWATCHDOG is not set | ||
1659 | +CONFIG_SSB_POSSIBLE=y | ||
1660 | + | ||
1661 | +# | ||
1662 | +# Sonics Silicon Backplane | ||
1663 | +# | ||
1664 | +# CONFIG_SSB is not set | ||
1665 | +CONFIG_BCMA_POSSIBLE=y | ||
1666 | + | ||
1667 | +# | ||
1668 | +# Broadcom specific AMBA | ||
1669 | +# | ||
1670 | +# CONFIG_BCMA is not set | ||
1671 | +CONFIG_MFD_SUPPORT=y | ||
1672 | +CONFIG_MFD_CORE=y | ||
1673 | +# CONFIG_MFD_88PM860X is not set | ||
1674 | +# CONFIG_MFD_SM501 is not set | ||
1675 | +# CONFIG_MFD_ASIC3 is not set | ||
1676 | +# CONFIG_HTC_EGPIO is not set | ||
1677 | +# CONFIG_HTC_PASIC3 is not set | ||
1678 | +# CONFIG_HTC_I2CPLD is not set | ||
1679 | +# CONFIG_UCB1400_CORE is not set | ||
1680 | +# CONFIG_TPS6105X is not set | ||
1681 | +# CONFIG_TPS65010 is not set | ||
1682 | +# CONFIG_TPS6507X is not set | ||
1683 | +# CONFIG_MFD_TPS6586X is not set | ||
1684 | +# CONFIG_TWL4030_CORE is not set | ||
1685 | +# CONFIG_MFD_STMPE is not set | ||
1686 | +# CONFIG_MFD_TC3589X is not set | ||
1687 | +# CONFIG_MFD_TMIO is not set | ||
1688 | +# CONFIG_MFD_T7L66XB is not set | ||
1689 | +# CONFIG_MFD_TC6387XB is not set | ||
1690 | +# CONFIG_MFD_TC6393XB is not set | ||
1691 | +# CONFIG_PMIC_DA903X is not set | ||
1692 | +# CONFIG_PMIC_ADP5520 is not set | ||
1693 | +# CONFIG_MFD_MAX8925 is not set | ||
1694 | +# CONFIG_MFD_MAX8997 is not set | ||
1695 | +# CONFIG_MFD_MAX8998 is not set | ||
1696 | +# CONFIG_MFD_WM8400 is not set | ||
1697 | +# CONFIG_MFD_WM831X_I2C is not set | ||
1698 | +# CONFIG_MFD_WM831X_SPI is not set | ||
1699 | +# CONFIG_MFD_WM8350_I2C is not set | ||
1700 | +CONFIG_MFD_WM8994=y | ||
1701 | +# CONFIG_MFD_PCF50633 is not set | ||
1702 | +# CONFIG_PMIC_DIALOG is not set | ||
1703 | +# CONFIG_MFD_MC_PMIC is not set | ||
1704 | +# CONFIG_MFD_MC34708 is not set | ||
1705 | +CONFIG_MFD_PFUZE=y | ||
1706 | +# CONFIG_MFD_MC13XXX is not set | ||
1707 | +# CONFIG_ABX500_CORE is not set | ||
1708 | +# CONFIG_EZX_PCAP is not set | ||
1709 | +# CONFIG_MFD_TIMBERDALE is not set | ||
1710 | +# CONFIG_LPC_SCH is not set | ||
1711 | +# CONFIG_MFD_RDC321X is not set | ||
1712 | +# CONFIG_MFD_JANZ_CMODIO is not set | ||
1713 | +# CONFIG_MFD_VX855 is not set | ||
1714 | +# CONFIG_MFD_WL1273_CORE is not set | ||
1715 | +# CONFIG_MFD_TPS65910 is not set | ||
1716 | +CONFIG_MFD_MAX17135=y | ||
1717 | +CONFIG_MFD_MXC_HDMI=y | ||
1718 | +CONFIG_REGULATOR=y | ||
1719 | +# CONFIG_REGULATOR_DEBUG is not set | ||
1720 | +# CONFIG_REGULATOR_DUMMY is not set | ||
1721 | +CONFIG_REGULATOR_FIXED_VOLTAGE=y | ||
1722 | +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set | ||
1723 | +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set | ||
1724 | +# CONFIG_REGULATOR_BQ24022 is not set | ||
1725 | +# CONFIG_REGULATOR_MAX1586 is not set | ||
1726 | +# CONFIG_REGULATOR_MAX8649 is not set | ||
1727 | +# CONFIG_REGULATOR_MAX8660 is not set | ||
1728 | +# CONFIG_REGULATOR_MAX8952 is not set | ||
1729 | +# CONFIG_REGULATOR_WM8994 is not set | ||
1730 | +# CONFIG_REGULATOR_LP3971 is not set | ||
1731 | +# CONFIG_REGULATOR_LP3972 is not set | ||
1732 | +# CONFIG_REGULATOR_MC34708 is not set | ||
1733 | +CONFIG_REGULATOR_PFUZE100=y | ||
1734 | +# CONFIG_REGULATOR_TPS65023 is not set | ||
1735 | +# CONFIG_REGULATOR_TPS6507X is not set | ||
1736 | +# CONFIG_REGULATOR_ISL6271A is not set | ||
1737 | +# CONFIG_REGULATOR_AD5398 is not set | ||
1738 | +CONFIG_REGULATOR_ANATOP=y | ||
1739 | +# CONFIG_REGULATOR_TPS6524X is not set | ||
1740 | +CONFIG_REGULATOR_MAX17135=y | ||
1741 | +CONFIG_MEDIA_SUPPORT=y | ||
1742 | + | ||
1743 | +# | ||
1744 | +# Multimedia core support | ||
1745 | +# | ||
1746 | +# CONFIG_MEDIA_CONTROLLER is not set | ||
1747 | +CONFIG_VIDEO_DEV=y | ||
1748 | +CONFIG_VIDEO_V4L2_COMMON=y | ||
1749 | +# CONFIG_DVB_CORE is not set | ||
1750 | +CONFIG_VIDEO_MEDIA=y | ||
1751 | + | ||
1752 | +# | ||
1753 | +# Multimedia drivers | ||
1754 | +# | ||
1755 | +# CONFIG_RC_CORE is not set | ||
1756 | +# CONFIG_MEDIA_ATTACH is not set | ||
1757 | +CONFIG_MEDIA_TUNER=y | ||
1758 | +# CONFIG_MEDIA_TUNER_CUSTOMISE is not set | ||
1759 | +CONFIG_MEDIA_TUNER_SIMPLE=y | ||
1760 | +CONFIG_MEDIA_TUNER_TDA8290=y | ||
1761 | +CONFIG_MEDIA_TUNER_TDA827X=y | ||
1762 | +CONFIG_MEDIA_TUNER_TDA18271=y | ||
1763 | +CONFIG_MEDIA_TUNER_TDA9887=y | ||
1764 | +CONFIG_MEDIA_TUNER_TEA5761=y | ||
1765 | +CONFIG_MEDIA_TUNER_TEA5767=y | ||
1766 | +CONFIG_MEDIA_TUNER_MT20XX=y | ||
1767 | +CONFIG_MEDIA_TUNER_XC2028=y | ||
1768 | +CONFIG_MEDIA_TUNER_XC5000=y | ||
1769 | +CONFIG_MEDIA_TUNER_MC44S803=y | ||
1770 | +CONFIG_VIDEO_V4L2=y | ||
1771 | +CONFIG_VIDEOBUF_GEN=y | ||
1772 | +CONFIG_VIDEOBUF_DMA_CONTIG=y | ||
1773 | +CONFIG_VIDEO_CAPTURE_DRIVERS=y | ||
1774 | +# CONFIG_VIDEO_ADV_DEBUG is not set | ||
1775 | +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set | ||
1776 | +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set | ||
1777 | + | ||
1778 | +# | ||
1779 | +# Encoders, decoders, sensors and other helper chips | ||
1780 | +# | ||
1781 | + | ||
1782 | +# | ||
1783 | +# Audio decoders, processors and mixers | ||
1784 | +# | ||
1785 | +# CONFIG_VIDEO_TVAUDIO is not set | ||
1786 | +# CONFIG_VIDEO_TDA7432 is not set | ||
1787 | +# CONFIG_VIDEO_TDA9840 is not set | ||
1788 | +# CONFIG_VIDEO_TEA6415C is not set | ||
1789 | +# CONFIG_VIDEO_TEA6420 is not set | ||
1790 | +# CONFIG_VIDEO_MSP3400 is not set | ||
1791 | +# CONFIG_VIDEO_CS5345 is not set | ||
1792 | +# CONFIG_VIDEO_CS53L32A is not set | ||
1793 | +# CONFIG_VIDEO_TLV320AIC23B is not set | ||
1794 | +# CONFIG_VIDEO_WM8775 is not set | ||
1795 | +# CONFIG_VIDEO_WM8739 is not set | ||
1796 | +# CONFIG_VIDEO_VP27SMPX is not set | ||
1797 | + | ||
1798 | +# | ||
1799 | +# RDS decoders | ||
1800 | +# | ||
1801 | +# CONFIG_VIDEO_SAA6588 is not set | ||
1802 | + | ||
1803 | +# | ||
1804 | +# Video decoders | ||
1805 | +# | ||
1806 | +# CONFIG_VIDEO_ADV7180 is not set | ||
1807 | +# CONFIG_VIDEO_BT819 is not set | ||
1808 | +# CONFIG_VIDEO_BT856 is not set | ||
1809 | +# CONFIG_VIDEO_BT866 is not set | ||
1810 | +# CONFIG_VIDEO_KS0127 is not set | ||
1811 | +# CONFIG_VIDEO_SAA7110 is not set | ||
1812 | +# CONFIG_VIDEO_SAA711X is not set | ||
1813 | +# CONFIG_VIDEO_SAA7191 is not set | ||
1814 | +# CONFIG_VIDEO_TVP514X is not set | ||
1815 | +# CONFIG_VIDEO_TVP5150 is not set | ||
1816 | +# CONFIG_VIDEO_TVP7002 is not set | ||
1817 | +# CONFIG_VIDEO_VPX3220 is not set | ||
1818 | + | ||
1819 | +# | ||
1820 | +# Video and audio decoders | ||
1821 | +# | ||
1822 | +# CONFIG_VIDEO_SAA717X is not set | ||
1823 | +# CONFIG_VIDEO_CX25840 is not set | ||
1824 | + | ||
1825 | +# | ||
1826 | +# MPEG video encoders | ||
1827 | +# | ||
1828 | +# CONFIG_VIDEO_CX2341X is not set | ||
1829 | + | ||
1830 | +# | ||
1831 | +# Video encoders | ||
1832 | +# | ||
1833 | +# CONFIG_VIDEO_SAA7127 is not set | ||
1834 | +# CONFIG_VIDEO_SAA7185 is not set | ||
1835 | +# CONFIG_VIDEO_ADV7170 is not set | ||
1836 | +# CONFIG_VIDEO_ADV7175 is not set | ||
1837 | +# CONFIG_VIDEO_ADV7343 is not set | ||
1838 | +# CONFIG_VIDEO_AK881X is not set | ||
1839 | + | ||
1840 | +# | ||
1841 | +# Camera sensor devices | ||
1842 | +# | ||
1843 | +# CONFIG_VIDEO_OV7670 is not set | ||
1844 | +# CONFIG_VIDEO_MT9V011 is not set | ||
1845 | +# CONFIG_VIDEO_TCM825X is not set | ||
1846 | + | ||
1847 | +# | ||
1848 | +# Video improvement chips | ||
1849 | +# | ||
1850 | +# CONFIG_VIDEO_UPD64031A is not set | ||
1851 | +# CONFIG_VIDEO_UPD64083 is not set | ||
1852 | + | ||
1853 | +# | ||
1854 | +# Miscelaneous helper chips | ||
1855 | +# | ||
1856 | +# CONFIG_VIDEO_THS7303 is not set | ||
1857 | +# CONFIG_VIDEO_M52790 is not set | ||
1858 | +# CONFIG_VIDEO_VIVI is not set | ||
1859 | +CONFIG_VIDEO_MXC_CAMERA=m | ||
1860 | + | ||
1861 | +# | ||
1862 | +# MXC Camera/V4L2 PRP Features support | ||
1863 | +# | ||
1864 | +CONFIG_VIDEO_MXC_IPU_CAMERA=y | ||
1865 | +# CONFIG_VIDEO_MXC_CSI_CAMERA is not set | ||
1866 | +# CONFIG_MXC_CAMERA_MICRON111 is not set | ||
1867 | +# CONFIG_MXC_CAMERA_OV2640 is not set | ||
1868 | +CONFIG_MXC_CAMERA_OV3640=m | ||
1869 | +CONFIG_MXC_CAMERA_OV5640=m | ||
1870 | +CONFIG_MXC_CAMERA_OV8820_MIPI=m | ||
1871 | +CONFIG_MXC_CAMERA_OV5642=m | ||
1872 | +CONFIG_MXC_TVIN_ADV7180=m | ||
1873 | +CONFIG_MXC_CAMERA_OV5640_MIPI=m | ||
1874 | +CONFIG_MXC_CAMERA_SENSOR_CLK=m | ||
1875 | +CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m | ||
1876 | +CONFIG_MXC_IPU_PRP_ENC=m | ||
1877 | +CONFIG_MXC_IPU_CSI_ENC=m | ||
1878 | +CONFIG_VIDEO_MXC_OUTPUT=y | ||
1879 | +CONFIG_VIDEO_MXC_IPU_OUTPUT=y | ||
1880 | +# CONFIG_VIDEO_MXC_IPUV1_WVGA_OUTPUT is not set | ||
1881 | +# CONFIG_VIDEO_MXC_OPL is not set | ||
1882 | +# CONFIG_VIDEO_CPIA2 is not set | ||
1883 | +# CONFIG_VIDEO_SAA7134 is not set | ||
1884 | +# CONFIG_VIDEO_MXB is not set | ||
1885 | +# CONFIG_VIDEO_HEXIUM_ORION is not set | ||
1886 | +# CONFIG_VIDEO_HEXIUM_GEMINI is not set | ||
1887 | +# CONFIG_VIDEO_TIMBERDALE is not set | ||
1888 | +# CONFIG_VIDEO_CAFE_CCIC is not set | ||
1889 | +# CONFIG_VIDEO_SR030PC30 is not set | ||
1890 | +# CONFIG_VIDEO_NOON010PC30 is not set | ||
1891 | +# CONFIG_SOC_CAMERA is not set | ||
1892 | +CONFIG_V4L_USB_DRIVERS=y | ||
1893 | +CONFIG_USB_VIDEO_CLASS=m | ||
1894 | +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y | ||
1895 | +CONFIG_USB_GSPCA=m | ||
1896 | +# CONFIG_USB_M5602 is not set | ||
1897 | +# CONFIG_USB_STV06XX is not set | ||
1898 | +# CONFIG_USB_GL860 is not set | ||
1899 | +# CONFIG_USB_GSPCA_BENQ is not set | ||
1900 | +# CONFIG_USB_GSPCA_CONEX is not set | ||
1901 | +# CONFIG_USB_GSPCA_CPIA1 is not set | ||
1902 | +# CONFIG_USB_GSPCA_ETOMS is not set | ||
1903 | +# CONFIG_USB_GSPCA_FINEPIX is not set | ||
1904 | +# CONFIG_USB_GSPCA_JEILINJ is not set | ||
1905 | +# CONFIG_USB_GSPCA_KINECT is not set | ||
1906 | +# CONFIG_USB_GSPCA_KONICA is not set | ||
1907 | +# CONFIG_USB_GSPCA_MARS is not set | ||
1908 | +# CONFIG_USB_GSPCA_MR97310A is not set | ||
1909 | +# CONFIG_USB_GSPCA_NW80X is not set | ||
1910 | +# CONFIG_USB_GSPCA_OV519 is not set | ||
1911 | +# CONFIG_USB_GSPCA_OV534 is not set | ||
1912 | +# CONFIG_USB_GSPCA_OV534_9 is not set | ||
1913 | +# CONFIG_USB_GSPCA_PAC207 is not set | ||
1914 | +# CONFIG_USB_GSPCA_PAC7302 is not set | ||
1915 | +# CONFIG_USB_GSPCA_PAC7311 is not set | ||
1916 | +# CONFIG_USB_GSPCA_SN9C2028 is not set | ||
1917 | +# CONFIG_USB_GSPCA_SN9C20X is not set | ||
1918 | +# CONFIG_USB_GSPCA_SONIXB is not set | ||
1919 | +# CONFIG_USB_GSPCA_SONIXJ is not set | ||
1920 | +# CONFIG_USB_GSPCA_SPCA500 is not set | ||
1921 | +# CONFIG_USB_GSPCA_SPCA501 is not set | ||
1922 | +# CONFIG_USB_GSPCA_SPCA505 is not set | ||
1923 | +# CONFIG_USB_GSPCA_SPCA506 is not set | ||
1924 | +# CONFIG_USB_GSPCA_SPCA508 is not set | ||
1925 | +# CONFIG_USB_GSPCA_SPCA561 is not set | ||
1926 | +# CONFIG_USB_GSPCA_SPCA1528 is not set | ||
1927 | +# CONFIG_USB_GSPCA_SQ905 is not set | ||
1928 | +# CONFIG_USB_GSPCA_SQ905C is not set | ||
1929 | +# CONFIG_USB_GSPCA_SQ930X is not set | ||
1930 | +# CONFIG_USB_GSPCA_STK014 is not set | ||
1931 | +# CONFIG_USB_GSPCA_STV0680 is not set | ||
1932 | +# CONFIG_USB_GSPCA_SUNPLUS is not set | ||
1933 | +# CONFIG_USB_GSPCA_T613 is not set | ||
1934 | +# CONFIG_USB_GSPCA_TV8532 is not set | ||
1935 | +# CONFIG_USB_GSPCA_VC032X is not set | ||
1936 | +# CONFIG_USB_GSPCA_VICAM is not set | ||
1937 | +# CONFIG_USB_GSPCA_XIRLINK_CIT is not set | ||
1938 | +# CONFIG_USB_GSPCA_ZC3XX is not set | ||
1939 | +# CONFIG_VIDEO_PVRUSB2 is not set | ||
1940 | +# CONFIG_VIDEO_HDPVR is not set | ||
1941 | +# CONFIG_VIDEO_USBVISION is not set | ||
1942 | +# CONFIG_USB_ET61X251 is not set | ||
1943 | +# CONFIG_USB_SN9C102 is not set | ||
1944 | +# CONFIG_USB_PWC is not set | ||
1945 | +# CONFIG_USB_ZR364XX is not set | ||
1946 | +# CONFIG_USB_STKWEBCAM is not set | ||
1947 | +# CONFIG_USB_S2255 is not set | ||
1948 | +# CONFIG_V4L_MEM2MEM_DRIVERS is not set | ||
1949 | +# CONFIG_RADIO_ADAPTERS is not set | ||
1950 | + | ||
1951 | +# | ||
1952 | +# Graphics support | ||
1953 | +# | ||
1954 | +CONFIG_DRM=m | ||
1955 | +CONFIG_DRM_VIVANTE=m | ||
1956 | +# CONFIG_VGASTATE is not set | ||
1957 | +# CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
1958 | +CONFIG_FB=y | ||
1959 | +# CONFIG_FIRMWARE_EDID is not set | ||
1960 | +# CONFIG_FB_DDC is not set | ||
1961 | +# CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
1962 | +CONFIG_FB_CFB_FILLRECT=y | ||
1963 | +CONFIG_FB_CFB_COPYAREA=y | ||
1964 | +CONFIG_FB_CFB_IMAGEBLIT=y | ||
1965 | +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
1966 | +# CONFIG_FB_SYS_FILLRECT is not set | ||
1967 | +# CONFIG_FB_SYS_COPYAREA is not set | ||
1968 | +# CONFIG_FB_SYS_IMAGEBLIT is not set | ||
1969 | +# CONFIG_FB_FOREIGN_ENDIAN is not set | ||
1970 | +# CONFIG_FB_SYS_FOPS is not set | ||
1971 | +# CONFIG_FB_WMT_GE_ROPS is not set | ||
1972 | +CONFIG_FB_DEFERRED_IO=y | ||
1973 | +# CONFIG_FB_SVGALIB is not set | ||
1974 | +# CONFIG_FB_MACMODES is not set | ||
1975 | +# CONFIG_FB_BACKLIGHT is not set | ||
1976 | +CONFIG_FB_MODE_HELPERS=y | ||
1977 | +# CONFIG_FB_TILEBLITTING is not set | ||
1978 | + | ||
1979 | +# | ||
1980 | +# Frame buffer hardware drivers | ||
1981 | +# | ||
1982 | +# CONFIG_FB_CIRRUS is not set | ||
1983 | +# CONFIG_FB_PM2 is not set | ||
1984 | +# CONFIG_FB_CYBER2000 is not set | ||
1985 | +# CONFIG_FB_ASILIANT is not set | ||
1986 | +# CONFIG_FB_IMSTT is not set | ||
1987 | +# CONFIG_FB_UVESA is not set | ||
1988 | +# CONFIG_FB_S1D13XXX is not set | ||
1989 | +# CONFIG_FB_NVIDIA is not set | ||
1990 | +# CONFIG_FB_RIVA is not set | ||
1991 | +# CONFIG_FB_MATROX is not set | ||
1992 | +# CONFIG_FB_RADEON is not set | ||
1993 | +# CONFIG_FB_ATY128 is not set | ||
1994 | +# CONFIG_FB_ATY is not set | ||
1995 | +# CONFIG_FB_S3 is not set | ||
1996 | +# CONFIG_FB_SAVAGE is not set | ||
1997 | +# CONFIG_FB_SIS is not set | ||
1998 | +# CONFIG_FB_NEOMAGIC is not set | ||
1999 | +# CONFIG_FB_KYRO is not set | ||
2000 | +# CONFIG_FB_3DFX is not set | ||
2001 | +# CONFIG_FB_VOODOO1 is not set | ||
2002 | +# CONFIG_FB_VT8623 is not set | ||
2003 | +# CONFIG_FB_TRIDENT is not set | ||
2004 | +# CONFIG_FB_ARK is not set | ||
2005 | +# CONFIG_FB_PM3 is not set | ||
2006 | +# CONFIG_FB_CARMINE is not set | ||
2007 | +# CONFIG_FB_TMIO is not set | ||
2008 | +# CONFIG_FB_UDL is not set | ||
2009 | +# CONFIG_FB_VIRTUAL is not set | ||
2010 | +# CONFIG_FB_METRONOME is not set | ||
2011 | +# CONFIG_FB_MB862XX is not set | ||
2012 | +# CONFIG_FB_BROADSHEET is not set | ||
2013 | +CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
2014 | +# CONFIG_LCD_CLASS_DEVICE is not set | ||
2015 | +CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||
2016 | +# CONFIG_BACKLIGHT_GENERIC is not set | ||
2017 | +CONFIG_BACKLIGHT_PWM=y | ||
2018 | +# CONFIG_BACKLIGHT_ADP8860 is not set | ||
2019 | +# CONFIG_BACKLIGHT_ADP8870 is not set | ||
2020 | + | ||
2021 | +# | ||
2022 | +# Display device support | ||
2023 | +# | ||
2024 | +# CONFIG_DISPLAY_SUPPORT is not set | ||
2025 | +CONFIG_FB_MXC=y | ||
2026 | +CONFIG_FB_MXC_EDID=y | ||
2027 | +CONFIG_FB_MXC_SYNC_PANEL=y | ||
2028 | +# CONFIG_FB_MXC_EPSON_VGA_SYNC_PANEL is not set | ||
2029 | +CONFIG_FB_MXC_LDB=y | ||
2030 | +CONFIG_FB_MXC_MIPI_DSI=y | ||
2031 | +CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y | ||
2032 | +# CONFIG_FB_MXC_CLAA_WVGA_SYNC_PANEL is not set | ||
2033 | +# CONFIG_FB_MXC_SEIKO_WVGA_SYNC_PANEL is not set | ||
2034 | +# CONFIG_FB_MXC_SII902X is not set | ||
2035 | +# CONFIG_FB_MXC_CH7026 is not set | ||
2036 | +# CONFIG_FB_MXC_TVOUT_CH7024 is not set | ||
2037 | +# CONFIG_FB_MXC_ASYNC_PANEL is not set | ||
2038 | +# CONFIG_FB_MXC_EINK_PANEL is not set | ||
2039 | +# CONFIG_FB_MXC_SIPIX_PANEL is not set | ||
2040 | +# CONFIG_FB_MXC_ELCDIF_FB is not set | ||
2041 | +CONFIG_FB_MXC_HDMI=y | ||
2042 | + | ||
2043 | +# | ||
2044 | +# Console display driver support | ||
2045 | +# | ||
2046 | +CONFIG_DUMMY_CONSOLE=y | ||
2047 | +CONFIG_FRAMEBUFFER_CONSOLE=y | ||
2048 | +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set | ||
2049 | +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
2050 | +CONFIG_FONTS=y | ||
2051 | +# CONFIG_FONT_8x8 is not set | ||
2052 | +CONFIG_FONT_8x16=y | ||
2053 | +# CONFIG_FONT_6x11 is not set | ||
2054 | +# CONFIG_FONT_7x14 is not set | ||
2055 | +# CONFIG_FONT_PEARL_8x8 is not set | ||
2056 | +# CONFIG_FONT_ACORN_8x8 is not set | ||
2057 | +# CONFIG_FONT_MINI_4x6 is not set | ||
2058 | +# CONFIG_FONT_SUN8x16 is not set | ||
2059 | +# CONFIG_FONT_SUN12x22 is not set | ||
2060 | +# CONFIG_FONT_10x18 is not set | ||
2061 | +CONFIG_LOGO=y | ||
2062 | +CONFIG_LOGO_LINUX_MONO=y | ||
2063 | +CONFIG_LOGO_LINUX_VGA16=y | ||
2064 | +CONFIG_LOGO_LINUX_CLUT224=y | ||
2065 | +CONFIG_SOUND=y | ||
2066 | +# CONFIG_SOUND_OSS_CORE is not set | ||
2067 | +CONFIG_SND=y | ||
2068 | +CONFIG_SND_TIMER=y | ||
2069 | +CONFIG_SND_PCM=y | ||
2070 | +CONFIG_SND_HWDEP=y | ||
2071 | +CONFIG_SND_RAWMIDI=y | ||
2072 | +CONFIG_SND_JACK=y | ||
2073 | +# CONFIG_SND_SEQUENCER is not set | ||
2074 | +# CONFIG_SND_MIXER_OSS is not set | ||
2075 | +# CONFIG_SND_PCM_OSS is not set | ||
2076 | +# CONFIG_SND_HRTIMER is not set | ||
2077 | +# CONFIG_SND_DYNAMIC_MINORS is not set | ||
2078 | +CONFIG_SND_SUPPORT_OLD_API=y | ||
2079 | +CONFIG_SND_VERBOSE_PROCFS=y | ||
2080 | +# CONFIG_SND_VERBOSE_PRINTK is not set | ||
2081 | +# CONFIG_SND_DEBUG is not set | ||
2082 | +# CONFIG_SND_RAWMIDI_SEQ is not set | ||
2083 | +# CONFIG_SND_OPL3_LIB_SEQ is not set | ||
2084 | +# CONFIG_SND_OPL4_LIB_SEQ is not set | ||
2085 | +# CONFIG_SND_SBAWE_SEQ is not set | ||
2086 | +# CONFIG_SND_EMU10K1_SEQ is not set | ||
2087 | +CONFIG_SND_DRIVERS=y | ||
2088 | +# CONFIG_SND_DUMMY is not set | ||
2089 | +# CONFIG_SND_ALOOP is not set | ||
2090 | +# CONFIG_SND_MTPAV is not set | ||
2091 | +# CONFIG_SND_SERIAL_U16550 is not set | ||
2092 | +# CONFIG_SND_MPU401 is not set | ||
2093 | +CONFIG_SND_ARM=y | ||
2094 | +CONFIG_SND_SPI=y | ||
2095 | +CONFIG_SND_USB=y | ||
2096 | +CONFIG_SND_USB_AUDIO=y | ||
2097 | +# CONFIG_SND_USB_UA101 is not set | ||
2098 | +# CONFIG_SND_USB_CAIAQ is not set | ||
2099 | +# CONFIG_SND_USB_6FIRE is not set | ||
2100 | +CONFIG_SND_SOC=y | ||
2101 | +# CONFIG_SND_SOC_CACHE_LZO is not set | ||
2102 | +CONFIG_SND_SOC_AC97_BUS=y | ||
2103 | +CONFIG_SND_IMX_SOC=y | ||
2104 | +CONFIG_SND_MXC_SOC_MX2=y | ||
2105 | +CONFIG_SND_MXC_SOC_SPDIF_DAI=y | ||
2106 | +CONFIG_SND_SOC_IMX_SGTL5000=y | ||
2107 | +# CONFIG_SND_SOC_IMX_WM8958 is not set | ||
2108 | +# CONFIG_SND_SOC_IMX_WM8962 is not set | ||
2109 | +# CONFIG_SND_SOC_IMX_SI4763 is not set | ||
2110 | +CONFIG_SND_SOC_IMX_SPDIF=y | ||
2111 | +CONFIG_SND_SOC_IMX_HDMI=y | ||
2112 | +CONFIG_SND_SOC_I2C_AND_SPI=y | ||
2113 | +# CONFIG_SND_SOC_ALL_CODECS is not set | ||
2114 | +CONFIG_SND_SOC_MXC_HDMI=y | ||
2115 | +CONFIG_SND_SOC_MXC_SPDIF=y | ||
2116 | +CONFIG_SND_SOC_SGTL5000=y | ||
2117 | +# CONFIG_SOUND_PRIME is not set | ||
2118 | +CONFIG_AC97_BUS=y | ||
2119 | +CONFIG_HID_SUPPORT=y | ||
2120 | +CONFIG_HID=y | ||
2121 | +CONFIG_HIDRAW=y | ||
2122 | + | ||
2123 | +# | ||
2124 | +# USB Input Devices | ||
2125 | +# | ||
2126 | +CONFIG_USB_HID=y | ||
2127 | +# CONFIG_HID_PID is not set | ||
2128 | +# CONFIG_USB_HIDDEV is not set | ||
2129 | + | ||
2130 | +# | ||
2131 | +# Special HID drivers | ||
2132 | +# | ||
2133 | +# CONFIG_HID_A4TECH is not set | ||
2134 | +# CONFIG_HID_ACRUX is not set | ||
2135 | +# CONFIG_HID_APPLE is not set | ||
2136 | +# CONFIG_HID_BELKIN is not set | ||
2137 | +# CONFIG_HID_CHERRY is not set | ||
2138 | +# CONFIG_HID_CHICONY is not set | ||
2139 | +# CONFIG_HID_PRODIKEYS is not set | ||
2140 | +# CONFIG_HID_CYPRESS is not set | ||
2141 | +# CONFIG_HID_DRAGONRISE is not set | ||
2142 | +# CONFIG_HID_EMS_FF is not set | ||
2143 | +# CONFIG_HID_ELECOM is not set | ||
2144 | +# CONFIG_HID_EZKEY is not set | ||
2145 | +# CONFIG_HID_KEYTOUCH is not set | ||
2146 | +# CONFIG_HID_KYE is not set | ||
2147 | +# CONFIG_HID_UCLOGIC is not set | ||
2148 | +# CONFIG_HID_WALTOP is not set | ||
2149 | +# CONFIG_HID_GYRATION is not set | ||
2150 | +# CONFIG_HID_TWINHAN is not set | ||
2151 | +# CONFIG_HID_KENSINGTON is not set | ||
2152 | +# CONFIG_HID_LCPOWER is not set | ||
2153 | +# CONFIG_HID_LOGITECH is not set | ||
2154 | +# CONFIG_HID_MAGICMOUSE is not set | ||
2155 | +# CONFIG_HID_MICROSOFT is not set | ||
2156 | +# CONFIG_HID_MONTEREY is not set | ||
2157 | +# CONFIG_HID_MULTITOUCH is not set | ||
2158 | +# CONFIG_HID_NTRIG is not set | ||
2159 | +# CONFIG_HID_ORTEK is not set | ||
2160 | +# CONFIG_HID_PANTHERLORD is not set | ||
2161 | +# CONFIG_HID_PETALYNX is not set | ||
2162 | +# CONFIG_HID_PICOLCD is not set | ||
2163 | +CONFIG_HID_QUANTA=y | ||
2164 | +# CONFIG_HID_ROCCAT is not set | ||
2165 | +# CONFIG_HID_ROCCAT_ARVO is not set | ||
2166 | +# CONFIG_HID_ROCCAT_KONE is not set | ||
2167 | +# CONFIG_HID_ROCCAT_KONEPLUS is not set | ||
2168 | +# CONFIG_HID_ROCCAT_KOVAPLUS is not set | ||
2169 | +# CONFIG_HID_ROCCAT_PYRA is not set | ||
2170 | +CONFIG_HID_SAMSUNG=m | ||
2171 | +CONFIG_HID_SONY=m | ||
2172 | +CONFIG_HID_SUNPLUS=m | ||
2173 | +# CONFIG_HID_GREENASIA is not set | ||
2174 | +# CONFIG_HID_SMARTJOYPLUS is not set | ||
2175 | +# CONFIG_HID_TOPSEED is not set | ||
2176 | +# CONFIG_HID_THRUSTMASTER is not set | ||
2177 | +# CONFIG_HID_WACOM is not set | ||
2178 | +# CONFIG_HID_ZEROPLUS is not set | ||
2179 | +# CONFIG_HID_ZYDACRON is not set | ||
2180 | +CONFIG_USB_SUPPORT=y | ||
2181 | +CONFIG_USB_ARCH_HAS_HCD=y | ||
2182 | +# CONFIG_USB_ARCH_HAS_OHCI is not set | ||
2183 | +CONFIG_USB_ARCH_HAS_EHCI=y | ||
2184 | +CONFIG_USB=y | ||
2185 | +# CONFIG_USB_DEBUG is not set | ||
2186 | +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set | ||
2187 | + | ||
2188 | +# | ||
2189 | +# Miscellaneous USB options | ||
2190 | +# | ||
2191 | +CONFIG_USB_DEVICEFS=y | ||
2192 | +# CONFIG_USB_DEVICE_CLASS is not set | ||
2193 | +# CONFIG_USB_DYNAMIC_MINORS is not set | ||
2194 | +CONFIG_USB_SUSPEND=y | ||
2195 | +CONFIG_USB_OTG=y | ||
2196 | +# CONFIG_USB_OTG_WHITELIST is not set | ||
2197 | +# CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
2198 | +# CONFIG_USB_MON is not set | ||
2199 | +# CONFIG_USB_WUSB is not set | ||
2200 | +# CONFIG_USB_WUSB_CBAF is not set | ||
2201 | + | ||
2202 | +# | ||
2203 | +# USB Host Controller Drivers | ||
2204 | +# | ||
2205 | +# CONFIG_USB_C67X00_HCD is not set | ||
2206 | +# CONFIG_USB_XHCI_HCD is not set | ||
2207 | +CONFIG_USB_EHCI_HCD=y | ||
2208 | +CONFIG_USB_EHCI_ARC=y | ||
2209 | +CONFIG_USB_EHCI_ARC_OTG=y | ||
2210 | +# CONFIG_USB_EHCI_ARC_HSIC is not set | ||
2211 | +# CONFIG_USB_STATIC_IRAM is not set | ||
2212 | +CONFIG_USB_EHCI_ROOT_HUB_TT=y | ||
2213 | +# CONFIG_USB_EHCI_TT_NEWSCHED is not set | ||
2214 | +# CONFIG_USB_EHCI_MXC is not set | ||
2215 | +# CONFIG_USB_OXU210HP_HCD is not set | ||
2216 | +# CONFIG_USB_ISP116X_HCD is not set | ||
2217 | +# CONFIG_USB_ISP1760_HCD is not set | ||
2218 | +# CONFIG_USB_ISP1362_HCD is not set | ||
2219 | +# CONFIG_USB_OHCI_HCD is not set | ||
2220 | +# CONFIG_USB_UHCI_HCD is not set | ||
2221 | +# CONFIG_USB_SL811_HCD is not set | ||
2222 | +# CONFIG_USB_R8A66597_HCD is not set | ||
2223 | +# CONFIG_USB_WHCI_HCD is not set | ||
2224 | +# CONFIG_USB_HWA_HCD is not set | ||
2225 | +# CONFIG_USB_MUSB_HDRC is not set | ||
2226 | + | ||
2227 | +# | ||
2228 | +# USB Device Class drivers | ||
2229 | +# | ||
2230 | +CONFIG_USB_ACM=y | ||
2231 | +# CONFIG_USB_PRINTER is not set | ||
2232 | +# CONFIG_USB_WDM is not set | ||
2233 | +# CONFIG_USB_TMC is not set | ||
2234 | + | ||
2235 | +# | ||
2236 | +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may | ||
2237 | +# | ||
2238 | + | ||
2239 | +# | ||
2240 | +# also be needed; see USB_STORAGE Help for more info | ||
2241 | +# | ||
2242 | +CONFIG_USB_STORAGE=y | ||
2243 | +# CONFIG_USB_STORAGE_DEBUG is not set | ||
2244 | +# CONFIG_USB_STORAGE_REALTEK is not set | ||
2245 | +# CONFIG_USB_STORAGE_DATAFAB is not set | ||
2246 | +# CONFIG_USB_STORAGE_FREECOM is not set | ||
2247 | +# CONFIG_USB_STORAGE_ISD200 is not set | ||
2248 | +# CONFIG_USB_STORAGE_USBAT is not set | ||
2249 | +# CONFIG_USB_STORAGE_SDDR09 is not set | ||
2250 | +# CONFIG_USB_STORAGE_SDDR55 is not set | ||
2251 | +# CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
2252 | +# CONFIG_USB_STORAGE_ALAUDA is not set | ||
2253 | +# CONFIG_USB_STORAGE_ONETOUCH is not set | ||
2254 | +# CONFIG_USB_STORAGE_KARMA is not set | ||
2255 | +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set | ||
2256 | +# CONFIG_USB_STORAGE_ENE_UB6250 is not set | ||
2257 | +# CONFIG_USB_UAS is not set | ||
2258 | +# CONFIG_USB_LIBUSUAL is not set | ||
2259 | + | ||
2260 | +# | ||
2261 | +# USB Imaging devices | ||
2262 | +# | ||
2263 | +# CONFIG_USB_MDC800 is not set | ||
2264 | +# CONFIG_USB_MICROTEK is not set | ||
2265 | + | ||
2266 | +# | ||
2267 | +# USB port drivers | ||
2268 | +# | ||
2269 | +CONFIG_USB_SERIAL=y | ||
2270 | +# CONFIG_USB_SERIAL_CONSOLE is not set | ||
2271 | +# CONFIG_USB_EZUSB is not set | ||
2272 | +# CONFIG_USB_SERIAL_GENERIC is not set | ||
2273 | +# CONFIG_USB_SERIAL_AIRCABLE is not set | ||
2274 | +# CONFIG_USB_SERIAL_ARK3116 is not set | ||
2275 | +# CONFIG_USB_SERIAL_BELKIN is not set | ||
2276 | +# CONFIG_USB_SERIAL_CH341 is not set | ||
2277 | +# CONFIG_USB_SERIAL_WHITEHEAT is not set | ||
2278 | +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set | ||
2279 | +# CONFIG_USB_SERIAL_CP210X is not set | ||
2280 | +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set | ||
2281 | +# CONFIG_USB_SERIAL_EMPEG is not set | ||
2282 | +# CONFIG_USB_SERIAL_FTDI_SIO is not set | ||
2283 | +# CONFIG_USB_SERIAL_FUNSOFT is not set | ||
2284 | +# CONFIG_USB_SERIAL_VISOR is not set | ||
2285 | +# CONFIG_USB_SERIAL_IPAQ is not set | ||
2286 | +# CONFIG_USB_SERIAL_IR is not set | ||
2287 | +# CONFIG_USB_SERIAL_EDGEPORT is not set | ||
2288 | +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set | ||
2289 | +# CONFIG_USB_SERIAL_GARMIN is not set | ||
2290 | +# CONFIG_USB_SERIAL_IPW is not set | ||
2291 | +# CONFIG_USB_SERIAL_IUU is not set | ||
2292 | +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set | ||
2293 | +# CONFIG_USB_SERIAL_KEYSPAN is not set | ||
2294 | +# CONFIG_USB_SERIAL_KLSI is not set | ||
2295 | +# CONFIG_USB_SERIAL_KOBIL_SCT is not set | ||
2296 | +# CONFIG_USB_SERIAL_MCT_U232 is not set | ||
2297 | +# CONFIG_USB_SERIAL_MOS7720 is not set | ||
2298 | +# CONFIG_USB_SERIAL_MOS7840 is not set | ||
2299 | +# CONFIG_USB_SERIAL_MOTOROLA is not set | ||
2300 | +# CONFIG_USB_SERIAL_NAVMAN is not set | ||
2301 | +# CONFIG_USB_SERIAL_PL2303 is not set | ||
2302 | +# CONFIG_USB_SERIAL_OTI6858 is not set | ||
2303 | +# CONFIG_USB_SERIAL_QCAUX is not set | ||
2304 | +CONFIG_USB_SERIAL_QUALCOMM=y | ||
2305 | +# CONFIG_USB_SERIAL_SPCP8X5 is not set | ||
2306 | +# CONFIG_USB_SERIAL_HP4X is not set | ||
2307 | +# CONFIG_USB_SERIAL_SAFE is not set | ||
2308 | +# CONFIG_USB_SERIAL_SIEMENS_MPI is not set | ||
2309 | +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set | ||
2310 | +# CONFIG_USB_SERIAL_SYMBOL is not set | ||
2311 | +# CONFIG_USB_SERIAL_TI is not set | ||
2312 | +# CONFIG_USB_SERIAL_CYBERJACK is not set | ||
2313 | +# CONFIG_USB_SERIAL_XIRCOM is not set | ||
2314 | +CONFIG_USB_SERIAL_WWAN=y | ||
2315 | +CONFIG_USB_SERIAL_OPTION=y | ||
2316 | +# CONFIG_USB_SERIAL_OMNINET is not set | ||
2317 | +# CONFIG_USB_SERIAL_OPTICON is not set | ||
2318 | +# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set | ||
2319 | +# CONFIG_USB_SERIAL_ZIO is not set | ||
2320 | +# CONFIG_USB_SERIAL_SSU100 is not set | ||
2321 | +# CONFIG_USB_SERIAL_DEBUG is not set | ||
2322 | + | ||
2323 | +# | ||
2324 | +# USB Miscellaneous drivers | ||
2325 | +# | ||
2326 | +# CONFIG_USB_EMI62 is not set | ||
2327 | +# CONFIG_USB_EMI26 is not set | ||
2328 | +# CONFIG_USB_ADUTUX is not set | ||
2329 | +# CONFIG_USB_SEVSEG is not set | ||
2330 | +# CONFIG_USB_RIO500 is not set | ||
2331 | +# CONFIG_USB_LEGOTOWER is not set | ||
2332 | +# CONFIG_USB_LCD is not set | ||
2333 | +# CONFIG_USB_LED is not set | ||
2334 | +# CONFIG_USB_CYPRESS_CY7C63 is not set | ||
2335 | +# CONFIG_USB_CYTHERM is not set | ||
2336 | +# CONFIG_USB_IDMOUSE is not set | ||
2337 | +# CONFIG_USB_FTDI_ELAN is not set | ||
2338 | +# CONFIG_USB_APPLEDISPLAY is not set | ||
2339 | +# CONFIG_USB_SISUSBVGA is not set | ||
2340 | +# CONFIG_USB_LD is not set | ||
2341 | +# CONFIG_USB_TRANCEVIBRATOR is not set | ||
2342 | +# CONFIG_USB_IOWARRIOR is not set | ||
2343 | +# CONFIG_USB_TEST is not set | ||
2344 | +# CONFIG_USB_ISIGHTFW is not set | ||
2345 | +# CONFIG_USB_YUREX is not set | ||
2346 | +CONFIG_USB_GADGET=y | ||
2347 | +# CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
2348 | +# CONFIG_USB_GADGET_DEBUG_FS is not set | ||
2349 | +CONFIG_USB_GADGET_VBUS_DRAW=2 | ||
2350 | +CONFIG_USB_GADGET_SELECTED=y | ||
2351 | +CONFIG_USB_GADGET_ARC=y | ||
2352 | +# CONFIG_IMX_USB_CHARGER is not set | ||
2353 | +CONFIG_USB_ARC=y | ||
2354 | +# CONFIG_USB_GADGET_FSL_USB2 is not set | ||
2355 | +# CONFIG_USB_GADGET_FUSB300 is not set | ||
2356 | +# CONFIG_USB_GADGET_R8A66597 is not set | ||
2357 | +# CONFIG_USB_GADGET_PXA_U2O is not set | ||
2358 | +# CONFIG_USB_GADGET_M66592 is not set | ||
2359 | +# CONFIG_USB_GADGET_AMD5536UDC is not set | ||
2360 | +# CONFIG_USB_GADGET_CI13XXX_PCI is not set | ||
2361 | +# CONFIG_USB_GADGET_NET2280 is not set | ||
2362 | +# CONFIG_USB_GADGET_GOKU is not set | ||
2363 | +# CONFIG_USB_GADGET_LANGWELL is not set | ||
2364 | +# CONFIG_USB_GADGET_EG20T is not set | ||
2365 | +# CONFIG_USB_GADGET_DUMMY_HCD is not set | ||
2366 | +CONFIG_USB_GADGET_DUALSPEED=y | ||
2367 | +# CONFIG_USB_ZERO is not set | ||
2368 | +# CONFIG_USB_AUDIO is not set | ||
2369 | +# CONFIG_USB_ETH is not set | ||
2370 | +CONFIG_USB_ETH_RNDIS=y | ||
2371 | +# CONFIG_USB_ETH_EEM is not set | ||
2372 | +# CONFIG_USB_G_NCM is not set | ||
2373 | +# CONFIG_USB_GADGETFS is not set | ||
2374 | +# CONFIG_USB_FUNCTIONFS is not set | ||
2375 | +CONFIG_USB_FILE_STORAGE=m | ||
2376 | +# CONFIG_USB_MASS_STORAGE is not set | ||
2377 | +CONFIG_USB_G_SERIAL=m | ||
2378 | +# CONFIG_USB_MIDI_GADGET is not set | ||
2379 | +# CONFIG_USB_G_PRINTER is not set | ||
2380 | +CONFIG_USB_G_ANDROID=y | ||
2381 | +# CONFIG_USB_CDC_COMPOSITE is not set | ||
2382 | +# CONFIG_USB_G_MULTI is not set | ||
2383 | +# CONFIG_USB_G_HID is not set | ||
2384 | +# CONFIG_USB_G_DBGP is not set | ||
2385 | +# CONFIG_USB_G_WEBCAM is not set | ||
2386 | + | ||
2387 | +# | ||
2388 | +# OTG and related infrastructure | ||
2389 | +# | ||
2390 | +CONFIG_USB_OTG_UTILS=y | ||
2391 | +# CONFIG_USB_GPIO_VBUS is not set | ||
2392 | +# CONFIG_USB_ULPI is not set | ||
2393 | +# CONFIG_NOP_USB_XCEIV is not set | ||
2394 | +CONFIG_MXC_OTG=y | ||
2395 | +CONFIG_MMC=y | ||
2396 | +# CONFIG_MMC_DEBUG is not set | ||
2397 | +CONFIG_MMC_UNSAFE_RESUME=y | ||
2398 | +# CONFIG_MMC_CLKGATE is not set | ||
2399 | +# CONFIG_MMC_EMBEDDED_SDIO is not set | ||
2400 | +# CONFIG_MMC_PARANOID_SD_INIT is not set | ||
2401 | + | ||
2402 | +# | ||
2403 | +# MMC/SD/SDIO Card Drivers | ||
2404 | +# | ||
2405 | +CONFIG_MMC_BLOCK=y | ||
2406 | +CONFIG_MMC_BLOCK_MINORS=8 | ||
2407 | +CONFIG_MMC_BLOCK_BOUNCE=y | ||
2408 | +# CONFIG_SDIO_UART is not set | ||
2409 | +# CONFIG_MMC_TEST is not set | ||
2410 | + | ||
2411 | +# | ||
2412 | +# MMC/SD/SDIO Host Controller Drivers | ||
2413 | +# | ||
2414 | +CONFIG_MMC_SDHCI=y | ||
2415 | +CONFIG_MMC_SDHCI_IO_ACCESSORS=y | ||
2416 | +# CONFIG_MMC_SDHCI_PCI is not set | ||
2417 | +CONFIG_MMC_SDHCI_PLTFM=y | ||
2418 | +CONFIG_MMC_SDHCI_ESDHC_IMX=y | ||
2419 | +# CONFIG_MMC_TIFM_SD is not set | ||
2420 | +# CONFIG_MMC_CB710 is not set | ||
2421 | +# CONFIG_MMC_VIA_SDMMC is not set | ||
2422 | +# CONFIG_MMC_DW is not set | ||
2423 | +# CONFIG_MMC_VUB300 is not set | ||
2424 | +# CONFIG_MMC_USHC is not set | ||
2425 | +# CONFIG_SDHCI_USE_LEDS_CLASS is not set | ||
2426 | +# CONFIG_MEMSTICK is not set | ||
2427 | +CONFIG_NEW_LEDS=y | ||
2428 | +CONFIG_LEDS_CLASS=y | ||
2429 | + | ||
2430 | +# | ||
2431 | +# LED drivers | ||
2432 | +# | ||
2433 | +# CONFIG_LEDS_LM3530 is not set | ||
2434 | +# CONFIG_LEDS_PCA9532 is not set | ||
2435 | +CONFIG_LEDS_GPIO=y | ||
2436 | +CONFIG_LEDS_GPIO_PLATFORM=y | ||
2437 | +# CONFIG_LEDS_LP3944 is not set | ||
2438 | +# CONFIG_LEDS_LP5521 is not set | ||
2439 | +# CONFIG_LEDS_LP5523 is not set | ||
2440 | +# CONFIG_LEDS_PCA955X is not set | ||
2441 | +# CONFIG_LEDS_DAC124S085 is not set | ||
2442 | +# CONFIG_LEDS_PWM is not set | ||
2443 | +# CONFIG_LEDS_REGULATOR is not set | ||
2444 | +# CONFIG_LEDS_BD2802 is not set | ||
2445 | +# CONFIG_LEDS_LT3593 is not set | ||
2446 | +CONFIG_LEDS_TRIGGERS=y | ||
2447 | + | ||
2448 | +# | ||
2449 | +# LED Triggers | ||
2450 | +# | ||
2451 | +# CONFIG_LEDS_TRIGGER_TIMER is not set | ||
2452 | +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set | ||
2453 | +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | ||
2454 | +CONFIG_LEDS_TRIGGER_GPIO=y | ||
2455 | +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y | ||
2456 | + | ||
2457 | +# | ||
2458 | +# iptables trigger is under Netfilter config (LED target) | ||
2459 | +# | ||
2460 | + | ||
2461 | +# | ||
2462 | +# LED Triggers | ||
2463 | +# | ||
2464 | +# CONFIG_NFC_DEVICES is not set | ||
2465 | +# CONFIG_ACCESSIBILITY is not set | ||
2466 | +CONFIG_RTC_LIB=y | ||
2467 | +CONFIG_RTC_CLASS=y | ||
2468 | +CONFIG_RTC_HCTOSYS=y | ||
2469 | +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
2470 | +# CONFIG_RTC_DEBUG is not set | ||
2471 | + | ||
2472 | +# | ||
2473 | +# RTC interfaces | ||
2474 | +# | ||
2475 | +CONFIG_RTC_INTF_SYSFS=y | ||
2476 | +CONFIG_RTC_INTF_PROC=y | ||
2477 | +CONFIG_RTC_INTF_DEV=y | ||
2478 | +CONFIG_RTC_INTF_DEV_UIE_EMUL=y | ||
2479 | +# CONFIG_RTC_DRV_TEST is not set | ||
2480 | + | ||
2481 | +# | ||
2482 | +# I2C RTC drivers | ||
2483 | +# | ||
2484 | +# CONFIG_RTC_DRV_DS1307 is not set | ||
2485 | +# CONFIG_RTC_DRV_DS1374 is not set | ||
2486 | +# CONFIG_RTC_DRV_DS1672 is not set | ||
2487 | +# CONFIG_RTC_DRV_DS3232 is not set | ||
2488 | +# CONFIG_RTC_DRV_MAX6900 is not set | ||
2489 | +# CONFIG_RTC_DRV_RS5C372 is not set | ||
2490 | +# CONFIG_RTC_DRV_ISL1208 is not set | ||
2491 | +# CONFIG_RTC_DRV_ISL12022 is not set | ||
2492 | +# CONFIG_RTC_DRV_X1205 is not set | ||
2493 | +# CONFIG_RTC_DRV_PCF8563 is not set | ||
2494 | +# CONFIG_RTC_DRV_PCF8583 is not set | ||
2495 | +# CONFIG_RTC_DRV_M41T80 is not set | ||
2496 | +# CONFIG_RTC_DRV_BQ32K is not set | ||
2497 | +# CONFIG_RTC_DRV_S35390A is not set | ||
2498 | +# CONFIG_RTC_DRV_FM3130 is not set | ||
2499 | +# CONFIG_RTC_DRV_RX8581 is not set | ||
2500 | +# CONFIG_RTC_DRV_RX8025 is not set | ||
2501 | +# CONFIG_RTC_DRV_EM3027 is not set | ||
2502 | +# CONFIG_RTC_DRV_RV3029C2 is not set | ||
2503 | + | ||
2504 | +# | ||
2505 | +# SPI RTC drivers | ||
2506 | +# | ||
2507 | +# CONFIG_RTC_DRV_M41T93 is not set | ||
2508 | +# CONFIG_RTC_DRV_M41T94 is not set | ||
2509 | +# CONFIG_RTC_DRV_DS1305 is not set | ||
2510 | +# CONFIG_RTC_DRV_DS1390 is not set | ||
2511 | +# CONFIG_RTC_DRV_MAX6902 is not set | ||
2512 | +# CONFIG_RTC_DRV_R9701 is not set | ||
2513 | +# CONFIG_RTC_DRV_RS5C348 is not set | ||
2514 | +# CONFIG_RTC_DRV_DS3234 is not set | ||
2515 | +# CONFIG_RTC_DRV_PCF2123 is not set | ||
2516 | + | ||
2517 | +# | ||
2518 | +# Platform RTC drivers | ||
2519 | +# | ||
2520 | +# CONFIG_RTC_DRV_CMOS is not set | ||
2521 | +# CONFIG_RTC_DRV_DS1286 is not set | ||
2522 | +# CONFIG_RTC_DRV_DS1511 is not set | ||
2523 | +# CONFIG_RTC_DRV_DS1553 is not set | ||
2524 | +# CONFIG_RTC_DRV_DS1742 is not set | ||
2525 | +# CONFIG_RTC_DRV_STK17TA8 is not set | ||
2526 | +# CONFIG_RTC_DRV_M48T86 is not set | ||
2527 | +# CONFIG_RTC_DRV_M48T35 is not set | ||
2528 | +# CONFIG_RTC_DRV_M48T59 is not set | ||
2529 | +# CONFIG_RTC_DRV_MSM6242 is not set | ||
2530 | +# CONFIG_RTC_MXC is not set | ||
2531 | +# CONFIG_RTC_DRV_MXC_V2 is not set | ||
2532 | +CONFIG_RTC_DRV_SNVS=y | ||
2533 | +# CONFIG_RTC_DRV_BQ4802 is not set | ||
2534 | +# CONFIG_RTC_DRV_RP5C01 is not set | ||
2535 | +# CONFIG_RTC_DRV_V3020 is not set | ||
2536 | + | ||
2537 | +# | ||
2538 | +# on-CPU RTC drivers | ||
2539 | +# | ||
2540 | +CONFIG_DMADEVICES=y | ||
2541 | +# CONFIG_DMADEVICES_DEBUG is not set | ||
2542 | + | ||
2543 | +# | ||
2544 | +# DMA Devices | ||
2545 | +# | ||
2546 | +# CONFIG_DW_DMAC is not set | ||
2547 | +CONFIG_MXC_PXP_V2=y | ||
2548 | +CONFIG_MXC_PXP_CLIENT_DEVICE=y | ||
2549 | +# CONFIG_TIMB_DMA is not set | ||
2550 | +CONFIG_IMX_SDMA=y | ||
2551 | +# CONFIG_MXS_DMA is not set | ||
2552 | +CONFIG_DMA_ENGINE=y | ||
2553 | + | ||
2554 | +# | ||
2555 | +# DMA Clients | ||
2556 | +# | ||
2557 | +# CONFIG_NET_DMA is not set | ||
2558 | +# CONFIG_ASYNC_TX_DMA is not set | ||
2559 | +# CONFIG_DMATEST is not set | ||
2560 | +# CONFIG_AUXDISPLAY is not set | ||
2561 | +# CONFIG_UIO is not set | ||
2562 | +# CONFIG_STAGING is not set | ||
2563 | +CONFIG_CLKDEV_LOOKUP=y | ||
2564 | +CONFIG_CLKSRC_MMIO=y | ||
2565 | + | ||
2566 | +# | ||
2567 | +# MXC support drivers | ||
2568 | +# | ||
2569 | +CONFIG_MXC_IPU=y | ||
2570 | +CONFIG_MXC_IPU_V3=y | ||
2571 | +CONFIG_MXC_IPU_V3H=y | ||
2572 | + | ||
2573 | +# | ||
2574 | +# MXC SSI support | ||
2575 | +# | ||
2576 | +# CONFIG_MXC_SSI is not set | ||
2577 | + | ||
2578 | +# | ||
2579 | +# MXC Digital Audio Multiplexer support | ||
2580 | +# | ||
2581 | +# CONFIG_MXC_DAM is not set | ||
2582 | + | ||
2583 | +# | ||
2584 | +# MXC PMIC support | ||
2585 | +# | ||
2586 | +# CONFIG_MXC_PMIC_MC13783 is not set | ||
2587 | +# CONFIG_MXC_PMIC_MC13892 is not set | ||
2588 | +# CONFIG_MXC_PMIC_MC34704 is not set | ||
2589 | +# CONFIG_MXC_PMIC_MC9SDZ60 is not set | ||
2590 | +# CONFIG_MXC_PMIC_MC9S08DZ60 is not set | ||
2591 | + | ||
2592 | +# | ||
2593 | +# MXC Security Drivers | ||
2594 | +# | ||
2595 | +# CONFIG_MXC_SECURITY_SCC is not set | ||
2596 | +# CONFIG_MXC_SECURITY_RNG is not set | ||
2597 | + | ||
2598 | +# | ||
2599 | +# MXC MPEG4 Encoder Kernel module support | ||
2600 | +# | ||
2601 | +# CONFIG_MXC_HMP4E is not set | ||
2602 | + | ||
2603 | +# | ||
2604 | +# MXC HARDWARE EVENT | ||
2605 | +# | ||
2606 | +# CONFIG_MXC_HWEVENT is not set | ||
2607 | + | ||
2608 | +# | ||
2609 | +# MXC VPU(Video Processing Unit) support | ||
2610 | +# | ||
2611 | +CONFIG_MXC_VPU=y | ||
2612 | +# CONFIG_MXC_VPU_DEBUG is not set | ||
2613 | + | ||
2614 | +# | ||
2615 | +# MXC Asynchronous Sample Rate Converter support | ||
2616 | +# | ||
2617 | +CONFIG_MXC_ASRC=y | ||
2618 | + | ||
2619 | +# | ||
2620 | +# MXC Bluetooth support | ||
2621 | +# | ||
2622 | + | ||
2623 | +# | ||
2624 | +# Broadcom GPS ioctrl support | ||
2625 | +# | ||
2626 | + | ||
2627 | +# | ||
2628 | +# MXC Media Local Bus Driver | ||
2629 | +# | ||
2630 | +# CONFIG_MXC_MLB150 is not set | ||
2631 | + | ||
2632 | +# | ||
2633 | +# i.MX ADC support | ||
2634 | +# | ||
2635 | +# CONFIG_IMX_ADC is not set | ||
2636 | + | ||
2637 | +# | ||
2638 | +# MXC Vivante GPU support | ||
2639 | +# | ||
2640 | +CONFIG_MXC_GPU_VIV=m | ||
2641 | + | ||
2642 | +# | ||
2643 | +# ANATOP_THERMAL | ||
2644 | +# | ||
2645 | +CONFIG_ANATOP_THERMAL=y | ||
2646 | + | ||
2647 | +# | ||
2648 | +# MXC MIPI Support | ||
2649 | +# | ||
2650 | +CONFIG_MXC_MIPI_CSI2=y | ||
2651 | + | ||
2652 | +# | ||
2653 | +# MXC HDMI CEC (Consumer Electronics Control) support | ||
2654 | +# | ||
2655 | +# CONFIG_MXC_HDMI_CEC is not set | ||
2656 | + | ||
2657 | +# | ||
2658 | +# File systems | ||
2659 | +# | ||
2660 | +CONFIG_EXT2_FS=y | ||
2661 | +# CONFIG_EXT2_FS_XATTR is not set | ||
2662 | +# CONFIG_EXT2_FS_XIP is not set | ||
2663 | +CONFIG_EXT3_FS=y | ||
2664 | +# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
2665 | +CONFIG_EXT3_FS_XATTR=y | ||
2666 | +# CONFIG_EXT3_FS_POSIX_ACL is not set | ||
2667 | +# CONFIG_EXT3_FS_SECURITY is not set | ||
2668 | +CONFIG_EXT4_FS=y | ||
2669 | +CONFIG_EXT4_FS_XATTR=y | ||
2670 | +# CONFIG_EXT4_FS_POSIX_ACL is not set | ||
2671 | +# CONFIG_EXT4_FS_SECURITY is not set | ||
2672 | +# CONFIG_EXT4_DEBUG is not set | ||
2673 | +CONFIG_JBD=y | ||
2674 | +# CONFIG_JBD_DEBUG is not set | ||
2675 | +CONFIG_JBD2=y | ||
2676 | +# CONFIG_JBD2_DEBUG is not set | ||
2677 | +CONFIG_FS_MBCACHE=y | ||
2678 | +# CONFIG_REISERFS_FS is not set | ||
2679 | +# CONFIG_JFS_FS is not set | ||
2680 | +# CONFIG_XFS_FS is not set | ||
2681 | +# CONFIG_GFS2_FS is not set | ||
2682 | +# CONFIG_BTRFS_FS is not set | ||
2683 | +# CONFIG_NILFS2_FS is not set | ||
2684 | +# CONFIG_FS_POSIX_ACL is not set | ||
2685 | +CONFIG_FILE_LOCKING=y | ||
2686 | +CONFIG_FSNOTIFY=y | ||
2687 | +CONFIG_DNOTIFY=y | ||
2688 | +CONFIG_INOTIFY_USER=y | ||
2689 | +# CONFIG_FANOTIFY is not set | ||
2690 | +# CONFIG_QUOTA is not set | ||
2691 | +# CONFIG_QUOTACTL is not set | ||
2692 | +CONFIG_AUTOFS4_FS=y | ||
2693 | +# CONFIG_FUSE_FS is not set | ||
2694 | + | ||
2695 | +# | ||
2696 | +# Caches | ||
2697 | +# | ||
2698 | +# CONFIG_FSCACHE is not set | ||
2699 | + | ||
2700 | +# | ||
2701 | +# CD-ROM/DVD Filesystems | ||
2702 | +# | ||
2703 | +# CONFIG_ISO9660_FS is not set | ||
2704 | +# CONFIG_UDF_FS is not set | ||
2705 | + | ||
2706 | +# | ||
2707 | +# DOS/FAT/NT Filesystems | ||
2708 | +# | ||
2709 | +CONFIG_FAT_FS=y | ||
2710 | +CONFIG_MSDOS_FS=y | ||
2711 | +CONFIG_VFAT_FS=y | ||
2712 | +CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
2713 | +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
2714 | +# CONFIG_NTFS_FS is not set | ||
2715 | + | ||
2716 | +# | ||
2717 | +# Pseudo filesystems | ||
2718 | +# | ||
2719 | +CONFIG_PROC_FS=y | ||
2720 | +CONFIG_PROC_SYSCTL=y | ||
2721 | +CONFIG_PROC_PAGE_MONITOR=y | ||
2722 | +CONFIG_SYSFS=y | ||
2723 | +CONFIG_TMPFS=y | ||
2724 | +# CONFIG_TMPFS_POSIX_ACL is not set | ||
2725 | +# CONFIG_TMPFS_XATTR is not set | ||
2726 | +# CONFIG_HUGETLB_PAGE is not set | ||
2727 | +# CONFIG_CONFIGFS_FS is not set | ||
2728 | +CONFIG_MISC_FILESYSTEMS=y | ||
2729 | +# CONFIG_ADFS_FS is not set | ||
2730 | +# CONFIG_AFFS_FS is not set | ||
2731 | +# CONFIG_ECRYPT_FS is not set | ||
2732 | +# CONFIG_HFS_FS is not set | ||
2733 | +# CONFIG_HFSPLUS_FS is not set | ||
2734 | +# CONFIG_BEFS_FS is not set | ||
2735 | +# CONFIG_BFS_FS is not set | ||
2736 | +# CONFIG_EFS_FS is not set | ||
2737 | +# CONFIG_YAFFS_FS is not set | ||
2738 | +CONFIG_JFFS2_FS=y | ||
2739 | +CONFIG_JFFS2_FS_DEBUG=0 | ||
2740 | +CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
2741 | +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
2742 | +# CONFIG_JFFS2_SUMMARY is not set | ||
2743 | +# CONFIG_JFFS2_FS_XATTR is not set | ||
2744 | +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
2745 | +CONFIG_JFFS2_ZLIB=y | ||
2746 | +# CONFIG_JFFS2_LZO is not set | ||
2747 | +CONFIG_JFFS2_RTIME=y | ||
2748 | +# CONFIG_JFFS2_RUBIN is not set | ||
2749 | +CONFIG_UBIFS_FS=y | ||
2750 | +# CONFIG_UBIFS_FS_XATTR is not set | ||
2751 | +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set | ||
2752 | +CONFIG_UBIFS_FS_LZO=y | ||
2753 | +CONFIG_UBIFS_FS_ZLIB=y | ||
2754 | +# CONFIG_UBIFS_FS_DEBUG is not set | ||
2755 | +# CONFIG_LOGFS is not set | ||
2756 | +CONFIG_CRAMFS=y | ||
2757 | +# CONFIG_SQUASHFS is not set | ||
2758 | +# CONFIG_VXFS_FS is not set | ||
2759 | +# CONFIG_MINIX_FS is not set | ||
2760 | +# CONFIG_OMFS_FS is not set | ||
2761 | +# CONFIG_HPFS_FS is not set | ||
2762 | +# CONFIG_QNX4FS_FS is not set | ||
2763 | +# CONFIG_ROMFS_FS is not set | ||
2764 | +# CONFIG_PSTORE is not set | ||
2765 | +# CONFIG_SYSV_FS is not set | ||
2766 | +# CONFIG_UFS_FS is not set | ||
2767 | +CONFIG_NETWORK_FILESYSTEMS=y | ||
2768 | +CONFIG_NFS_FS=y | ||
2769 | +CONFIG_NFS_V3=y | ||
2770 | +# CONFIG_NFS_V3_ACL is not set | ||
2771 | +# CONFIG_NFS_V4 is not set | ||
2772 | +CONFIG_ROOT_NFS=y | ||
2773 | +# CONFIG_NFSD is not set | ||
2774 | +CONFIG_LOCKD=y | ||
2775 | +CONFIG_LOCKD_V4=y | ||
2776 | +CONFIG_NFS_COMMON=y | ||
2777 | +CONFIG_SUNRPC=y | ||
2778 | +# CONFIG_CEPH_FS is not set | ||
2779 | +# CONFIG_CIFS is not set | ||
2780 | +# CONFIG_NCP_FS is not set | ||
2781 | +# CONFIG_CODA_FS is not set | ||
2782 | +# CONFIG_AFS_FS is not set | ||
2783 | + | ||
2784 | +# | ||
2785 | +# Partition Types | ||
2786 | +# | ||
2787 | +CONFIG_PARTITION_ADVANCED=y | ||
2788 | +# CONFIG_ACORN_PARTITION is not set | ||
2789 | +# CONFIG_OSF_PARTITION is not set | ||
2790 | +# CONFIG_AMIGA_PARTITION is not set | ||
2791 | +# CONFIG_ATARI_PARTITION is not set | ||
2792 | +# CONFIG_MAC_PARTITION is not set | ||
2793 | +CONFIG_MSDOS_PARTITION=y | ||
2794 | +# CONFIG_BSD_DISKLABEL is not set | ||
2795 | +# CONFIG_MINIX_SUBPARTITION is not set | ||
2796 | +# CONFIG_SOLARIS_X86_PARTITION is not set | ||
2797 | +# CONFIG_UNIXWARE_DISKLABEL is not set | ||
2798 | +# CONFIG_LDM_PARTITION is not set | ||
2799 | +# CONFIG_SGI_PARTITION is not set | ||
2800 | +# CONFIG_ULTRIX_PARTITION is not set | ||
2801 | +# CONFIG_SUN_PARTITION is not set | ||
2802 | +# CONFIG_KARMA_PARTITION is not set | ||
2803 | +CONFIG_EFI_PARTITION=y | ||
2804 | +# CONFIG_SYSV68_PARTITION is not set | ||
2805 | +CONFIG_NLS=y | ||
2806 | +CONFIG_NLS_DEFAULT="iso8859-1" | ||
2807 | +CONFIG_NLS_CODEPAGE_437=y | ||
2808 | +# CONFIG_NLS_CODEPAGE_737 is not set | ||
2809 | +# CONFIG_NLS_CODEPAGE_775 is not set | ||
2810 | +# CONFIG_NLS_CODEPAGE_850 is not set | ||
2811 | +# CONFIG_NLS_CODEPAGE_852 is not set | ||
2812 | +# CONFIG_NLS_CODEPAGE_855 is not set | ||
2813 | +# CONFIG_NLS_CODEPAGE_857 is not set | ||
2814 | +# CONFIG_NLS_CODEPAGE_860 is not set | ||
2815 | +# CONFIG_NLS_CODEPAGE_861 is not set | ||
2816 | +# CONFIG_NLS_CODEPAGE_862 is not set | ||
2817 | +# CONFIG_NLS_CODEPAGE_863 is not set | ||
2818 | +# CONFIG_NLS_CODEPAGE_864 is not set | ||
2819 | +# CONFIG_NLS_CODEPAGE_865 is not set | ||
2820 | +# CONFIG_NLS_CODEPAGE_866 is not set | ||
2821 | +# CONFIG_NLS_CODEPAGE_869 is not set | ||
2822 | +# CONFIG_NLS_CODEPAGE_936 is not set | ||
2823 | +# CONFIG_NLS_CODEPAGE_950 is not set | ||
2824 | +# CONFIG_NLS_CODEPAGE_932 is not set | ||
2825 | +# CONFIG_NLS_CODEPAGE_949 is not set | ||
2826 | +# CONFIG_NLS_CODEPAGE_874 is not set | ||
2827 | +# CONFIG_NLS_ISO8859_8 is not set | ||
2828 | +# CONFIG_NLS_CODEPAGE_1250 is not set | ||
2829 | +# CONFIG_NLS_CODEPAGE_1251 is not set | ||
2830 | +CONFIG_NLS_ASCII=m | ||
2831 | +CONFIG_NLS_ISO8859_1=y | ||
2832 | +# CONFIG_NLS_ISO8859_2 is not set | ||
2833 | +# CONFIG_NLS_ISO8859_3 is not set | ||
2834 | +# CONFIG_NLS_ISO8859_4 is not set | ||
2835 | +# CONFIG_NLS_ISO8859_5 is not set | ||
2836 | +# CONFIG_NLS_ISO8859_6 is not set | ||
2837 | +# CONFIG_NLS_ISO8859_7 is not set | ||
2838 | +# CONFIG_NLS_ISO8859_9 is not set | ||
2839 | +# CONFIG_NLS_ISO8859_13 is not set | ||
2840 | +# CONFIG_NLS_ISO8859_14 is not set | ||
2841 | +# CONFIG_NLS_ISO8859_15 is not set | ||
2842 | +# CONFIG_NLS_KOI8_R is not set | ||
2843 | +# CONFIG_NLS_KOI8_U is not set | ||
2844 | +CONFIG_NLS_UTF8=m | ||
2845 | + | ||
2846 | +# | ||
2847 | +# Kernel hacking | ||
2848 | +# | ||
2849 | +# CONFIG_PRINTK_TIME is not set | ||
2850 | +CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 | ||
2851 | +CONFIG_ENABLE_WARN_DEPRECATED=y | ||
2852 | +CONFIG_ENABLE_MUST_CHECK=y | ||
2853 | +CONFIG_FRAME_WARN=1024 | ||
2854 | +CONFIG_MAGIC_SYSRQ=y | ||
2855 | +# CONFIG_STRIP_ASM_SYMS is not set | ||
2856 | +# CONFIG_UNUSED_SYMBOLS is not set | ||
2857 | +CONFIG_DEBUG_FS=y | ||
2858 | +# CONFIG_HEADERS_CHECK is not set | ||
2859 | +# CONFIG_DEBUG_SECTION_MISMATCH is not set | ||
2860 | +# CONFIG_DEBUG_KERNEL is not set | ||
2861 | +# CONFIG_HARDLOCKUP_DETECTOR is not set | ||
2862 | +# CONFIG_SPARSE_RCU_POINTER is not set | ||
2863 | +CONFIG_DEBUG_BUGVERBOSE=y | ||
2864 | +# CONFIG_DEBUG_MEMORY_INIT is not set | ||
2865 | +CONFIG_RCU_CPU_STALL_TIMEOUT=60 | ||
2866 | +CONFIG_RCU_CPU_STALL_VERBOSE=y | ||
2867 | +# CONFIG_LKDTM is not set | ||
2868 | +CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
2869 | +CONFIG_HAVE_FUNCTION_TRACER=y | ||
2870 | +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
2871 | +CONFIG_HAVE_DYNAMIC_FTRACE=y | ||
2872 | +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | ||
2873 | +CONFIG_HAVE_C_RECORDMCOUNT=y | ||
2874 | +CONFIG_TRACING_SUPPORT=y | ||
2875 | +# CONFIG_FTRACE is not set | ||
2876 | +# CONFIG_DYNAMIC_DEBUG is not set | ||
2877 | +# CONFIG_DMA_API_DEBUG is not set | ||
2878 | +# CONFIG_ATOMIC64_SELFTEST is not set | ||
2879 | +# CONFIG_SAMPLES is not set | ||
2880 | +CONFIG_HAVE_ARCH_KGDB=y | ||
2881 | +# CONFIG_TEST_KSTRTOX is not set | ||
2882 | +# CONFIG_STRICT_DEVMEM is not set | ||
2883 | +CONFIG_ARM_UNWIND=y | ||
2884 | +# CONFIG_DEBUG_USER is not set | ||
2885 | +# CONFIG_OC_ETM is not set | ||
2886 | + | ||
2887 | +# | ||
2888 | +# Security options | ||
2889 | +# | ||
2890 | +# CONFIG_KEYS is not set | ||
2891 | +# CONFIG_SECURITY_DMESG_RESTRICT is not set | ||
2892 | +# CONFIG_SECURITY is not set | ||
2893 | +# CONFIG_SECURITYFS is not set | ||
2894 | +CONFIG_DEFAULT_SECURITY_DAC=y | ||
2895 | +CONFIG_DEFAULT_SECURITY="" | ||
2896 | +CONFIG_CRYPTO=y | ||
2897 | + | ||
2898 | +# | ||
2899 | +# Crypto core or helper | ||
2900 | +# | ||
2901 | +CONFIG_CRYPTO_ALGAPI=y | ||
2902 | +CONFIG_CRYPTO_ALGAPI2=y | ||
2903 | +CONFIG_CRYPTO_AEAD=y | ||
2904 | +CONFIG_CRYPTO_AEAD2=y | ||
2905 | +CONFIG_CRYPTO_BLKCIPHER=y | ||
2906 | +CONFIG_CRYPTO_BLKCIPHER2=y | ||
2907 | +CONFIG_CRYPTO_HASH=y | ||
2908 | +CONFIG_CRYPTO_HASH2=y | ||
2909 | +CONFIG_CRYPTO_RNG=y | ||
2910 | +CONFIG_CRYPTO_RNG2=y | ||
2911 | +CONFIG_CRYPTO_PCOMP2=y | ||
2912 | +CONFIG_CRYPTO_MANAGER=y | ||
2913 | +CONFIG_CRYPTO_MANAGER2=y | ||
2914 | +# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set | ||
2915 | +CONFIG_CRYPTO_GF128MUL=y | ||
2916 | +# CONFIG_CRYPTO_NULL is not set | ||
2917 | +# CONFIG_CRYPTO_PCRYPT is not set | ||
2918 | +CONFIG_CRYPTO_WORKQUEUE=y | ||
2919 | +# CONFIG_CRYPTO_CRYPTD is not set | ||
2920 | +CONFIG_CRYPTO_AUTHENC=y | ||
2921 | +CONFIG_CRYPTO_TEST=m | ||
2922 | +# CONFIG_CRYPTO_CRYPTODEV is not set | ||
2923 | + | ||
2924 | +# | ||
2925 | +# Authenticated Encryption with Associated Data | ||
2926 | +# | ||
2927 | +CONFIG_CRYPTO_CCM=y | ||
2928 | +CONFIG_CRYPTO_GCM=y | ||
2929 | +CONFIG_CRYPTO_SEQIV=y | ||
2930 | + | ||
2931 | +# | ||
2932 | +# Block modes | ||
2933 | +# | ||
2934 | +CONFIG_CRYPTO_CBC=y | ||
2935 | +CONFIG_CRYPTO_CTR=y | ||
2936 | +CONFIG_CRYPTO_CTS=y | ||
2937 | +CONFIG_CRYPTO_ECB=y | ||
2938 | +CONFIG_CRYPTO_LRW=y | ||
2939 | +CONFIG_CRYPTO_PCBC=y | ||
2940 | +CONFIG_CRYPTO_XTS=y | ||
2941 | + | ||
2942 | +# | ||
2943 | +# Hash modes | ||
2944 | +# | ||
2945 | +# CONFIG_CRYPTO_HMAC is not set | ||
2946 | +# CONFIG_CRYPTO_XCBC is not set | ||
2947 | +# CONFIG_CRYPTO_VMAC is not set | ||
2948 | + | ||
2949 | +# | ||
2950 | +# Digest | ||
2951 | +# | ||
2952 | +# CONFIG_CRYPTO_CRC32C is not set | ||
2953 | +CONFIG_CRYPTO_GHASH=y | ||
2954 | +# CONFIG_CRYPTO_MD4 is not set | ||
2955 | +# CONFIG_CRYPTO_MD5 is not set | ||
2956 | +CONFIG_CRYPTO_MICHAEL_MIC=y | ||
2957 | +# CONFIG_CRYPTO_RMD128 is not set | ||
2958 | +# CONFIG_CRYPTO_RMD160 is not set | ||
2959 | +# CONFIG_CRYPTO_RMD256 is not set | ||
2960 | +# CONFIG_CRYPTO_RMD320 is not set | ||
2961 | +# CONFIG_CRYPTO_SHA1 is not set | ||
2962 | +# CONFIG_CRYPTO_SHA256 is not set | ||
2963 | +# CONFIG_CRYPTO_SHA512 is not set | ||
2964 | +# CONFIG_CRYPTO_TGR192 is not set | ||
2965 | +# CONFIG_CRYPTO_WP512 is not set | ||
2966 | + | ||
2967 | +# | ||
2968 | +# Ciphers | ||
2969 | +# | ||
2970 | +CONFIG_CRYPTO_AES=y | ||
2971 | +# CONFIG_CRYPTO_ANUBIS is not set | ||
2972 | +CONFIG_CRYPTO_ARC4=y | ||
2973 | +# CONFIG_CRYPTO_BLOWFISH is not set | ||
2974 | +# CONFIG_CRYPTO_CAMELLIA is not set | ||
2975 | +# CONFIG_CRYPTO_CAST5 is not set | ||
2976 | +# CONFIG_CRYPTO_CAST6 is not set | ||
2977 | +CONFIG_CRYPTO_DES=y | ||
2978 | +# CONFIG_CRYPTO_FCRYPT is not set | ||
2979 | +# CONFIG_CRYPTO_KHAZAD is not set | ||
2980 | +# CONFIG_CRYPTO_SALSA20 is not set | ||
2981 | +# CONFIG_CRYPTO_SEED is not set | ||
2982 | +# CONFIG_CRYPTO_SERPENT is not set | ||
2983 | +# CONFIG_CRYPTO_TEA is not set | ||
2984 | +# CONFIG_CRYPTO_TWOFISH is not set | ||
2985 | + | ||
2986 | +# | ||
2987 | +# Compression | ||
2988 | +# | ||
2989 | +CONFIG_CRYPTO_DEFLATE=y | ||
2990 | +# CONFIG_CRYPTO_ZLIB is not set | ||
2991 | +CONFIG_CRYPTO_LZO=y | ||
2992 | + | ||
2993 | +# | ||
2994 | +# Random Number Generation | ||
2995 | +# | ||
2996 | +# CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
2997 | +# CONFIG_CRYPTO_USER_API_HASH is not set | ||
2998 | +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set | ||
2999 | +CONFIG_CRYPTO_HW=y | ||
3000 | +CONFIG_CRYPTO_DEV_FSL_CAAM=y | ||
3001 | +CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9 | ||
3002 | +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC=y | ||
3003 | +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD=255 | ||
3004 | +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD=2048 | ||
3005 | +CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=y | ||
3006 | +# CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API is not set | ||
3007 | +CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y | ||
3008 | +# CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_TEST is not set | ||
3009 | +# CONFIG_BINARY_PRINTF is not set | ||
3010 | + | ||
3011 | +# | ||
3012 | +# Library routines | ||
3013 | +# | ||
3014 | +CONFIG_BITREVERSE=y | ||
3015 | +CONFIG_RATIONAL=y | ||
3016 | +CONFIG_CRC_CCITT=m | ||
3017 | +CONFIG_CRC16=y | ||
3018 | +# CONFIG_CRC_T10DIF is not set | ||
3019 | +# CONFIG_CRC_ITU_T is not set | ||
3020 | +CONFIG_CRC32=y | ||
3021 | +# CONFIG_CRC7 is not set | ||
3022 | +# CONFIG_LIBCRC32C is not set | ||
3023 | +CONFIG_ZLIB_INFLATE=y | ||
3024 | +CONFIG_ZLIB_DEFLATE=y | ||
3025 | +CONFIG_LZO_COMPRESS=y | ||
3026 | +CONFIG_LZO_DECOMPRESS=y | ||
3027 | +# CONFIG_XZ_DEC is not set | ||
3028 | +# CONFIG_XZ_DEC_BCJ is not set | ||
3029 | +CONFIG_GENERIC_ALLOCATOR=y | ||
3030 | +CONFIG_HAS_IOMEM=y | ||
3031 | +CONFIG_HAS_IOPORT=y | ||
3032 | +CONFIG_HAS_DMA=y | ||
3033 | +CONFIG_CPU_RMAP=y | ||
3034 | +CONFIG_NLATTR=y | ||
3035 | +# CONFIG_AVERAGE is not set | ||
3036 | diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig | ||
3037 | old mode 100755 | ||
3038 | new mode 100644 | ||
3039 | diff --git a/arch/arm/mach-mx5/Kconfig b/arch/arm/mach-mx5/Kconfig | ||
3040 | old mode 100755 | ||
3041 | new mode 100644 | ||
3042 | diff --git a/arch/arm/mach-mx5/Makefile b/arch/arm/mach-mx5/Makefile | ||
3043 | old mode 100755 | ||
3044 | new mode 100644 | ||
3045 | diff --git a/arch/arm/mach-mx5/board-mx50_rdp.c b/arch/arm/mach-mx5/board-mx50_rdp.c | ||
3046 | old mode 100755 | ||
3047 | new mode 100644 | ||
3048 | diff --git a/arch/arm/mach-mx5/board-mx51_babbage.c b/arch/arm/mach-mx5/board-mx51_babbage.c | ||
3049 | old mode 100755 | ||
3050 | new mode 100644 | ||
3051 | diff --git a/arch/arm/mach-mx5/board-mx53_ard.c b/arch/arm/mach-mx5/board-mx53_ard.c | ||
3052 | old mode 100755 | ||
3053 | new mode 100644 | ||
3054 | diff --git a/arch/arm/mach-mx5/board-mx53_evk.c b/arch/arm/mach-mx5/board-mx53_evk.c | ||
3055 | old mode 100755 | ||
3056 | new mode 100644 | ||
3057 | diff --git a/arch/arm/mach-mx5/board-mx53_loco.c b/arch/arm/mach-mx5/board-mx53_loco.c | ||
3058 | old mode 100755 | ||
3059 | new mode 100644 | ||
3060 | diff --git a/arch/arm/mach-mx5/board-mx53_smd.c b/arch/arm/mach-mx5/board-mx53_smd.c | ||
3061 | old mode 100755 | ||
3062 | new mode 100644 | ||
3063 | diff --git a/arch/arm/mach-mx5/bus_freq.c b/arch/arm/mach-mx5/bus_freq.c | ||
3064 | old mode 100755 | ||
3065 | new mode 100644 | ||
3066 | diff --git a/arch/arm/mach-mx5/clock-mx51-mx53.c b/arch/arm/mach-mx5/clock-mx51-mx53.c | ||
3067 | old mode 100755 | ||
3068 | new mode 100644 | ||
3069 | diff --git a/arch/arm/mach-mx5/clock.c b/arch/arm/mach-mx5/clock.c | ||
3070 | old mode 100755 | ||
3071 | new mode 100644 | ||
3072 | diff --git a/arch/arm/mach-mx5/clock_mx50.c b/arch/arm/mach-mx5/clock_mx50.c | ||
3073 | old mode 100755 | ||
3074 | new mode 100644 | ||
3075 | diff --git a/arch/arm/mach-mx5/cpu.c b/arch/arm/mach-mx5/cpu.c | ||
3076 | old mode 100755 | ||
3077 | new mode 100644 | ||
3078 | diff --git a/arch/arm/mach-mx5/cpu_op-mx50.c b/arch/arm/mach-mx5/cpu_op-mx50.c | ||
3079 | old mode 100755 | ||
3080 | new mode 100644 | ||
3081 | diff --git a/arch/arm/mach-mx5/cpu_op-mx50.h b/arch/arm/mach-mx5/cpu_op-mx50.h | ||
3082 | old mode 100755 | ||
3083 | new mode 100644 | ||
3084 | diff --git a/arch/arm/mach-mx5/cpu_op-mx51.c b/arch/arm/mach-mx5/cpu_op-mx51.c | ||
3085 | old mode 100755 | ||
3086 | new mode 100644 | ||
3087 | diff --git a/arch/arm/mach-mx5/cpu_op-mx51.h b/arch/arm/mach-mx5/cpu_op-mx51.h | ||
3088 | old mode 100755 | ||
3089 | new mode 100644 | ||
3090 | diff --git a/arch/arm/mach-mx5/cpu_op-mx53.c b/arch/arm/mach-mx5/cpu_op-mx53.c | ||
3091 | old mode 100755 | ||
3092 | new mode 100644 | ||
3093 | diff --git a/arch/arm/mach-mx5/cpu_op-mx53.h b/arch/arm/mach-mx5/cpu_op-mx53.h | ||
3094 | old mode 100755 | ||
3095 | new mode 100644 | ||
3096 | diff --git a/arch/arm/mach-mx5/crm_regs.h b/arch/arm/mach-mx5/crm_regs.h | ||
3097 | old mode 100755 | ||
3098 | new mode 100644 | ||
3099 | diff --git a/arch/arm/mach-mx5/devices-imx50.h b/arch/arm/mach-mx5/devices-imx50.h | ||
3100 | old mode 100755 | ||
3101 | new mode 100644 | ||
3102 | diff --git a/arch/arm/mach-mx5/devices-imx51.h b/arch/arm/mach-mx5/devices-imx51.h | ||
3103 | old mode 100755 | ||
3104 | new mode 100644 | ||
3105 | diff --git a/arch/arm/mach-mx5/devices-imx53.h b/arch/arm/mach-mx5/devices-imx53.h | ||
3106 | old mode 100755 | ||
3107 | new mode 100644 | ||
3108 | diff --git a/arch/arm/mach-mx5/devices.c b/arch/arm/mach-mx5/devices.c | ||
3109 | old mode 100755 | ||
3110 | new mode 100644 | ||
3111 | diff --git a/arch/arm/mach-mx5/devices.h b/arch/arm/mach-mx5/devices.h | ||
3112 | old mode 100755 | ||
3113 | new mode 100644 | ||
3114 | diff --git a/arch/arm/mach-mx5/imx_bt_rfkill.c b/arch/arm/mach-mx5/imx_bt_rfkill.c | ||
3115 | old mode 100755 | ||
3116 | new mode 100644 | ||
3117 | diff --git a/arch/arm/mach-mx5/mx50_ddr_freq.S b/arch/arm/mach-mx5/mx50_ddr_freq.S | ||
3118 | old mode 100755 | ||
3119 | new mode 100644 | ||
3120 | diff --git a/arch/arm/mach-mx5/mx50_freq.c b/arch/arm/mach-mx5/mx50_freq.c | ||
3121 | old mode 100755 | ||
3122 | new mode 100644 | ||
3123 | diff --git a/arch/arm/mach-mx5/mx50_suspend.S b/arch/arm/mach-mx5/mx50_suspend.S | ||
3124 | old mode 100755 | ||
3125 | new mode 100644 | ||
3126 | diff --git a/arch/arm/mach-mx5/mx50_wfi.S b/arch/arm/mach-mx5/mx50_wfi.S | ||
3127 | old mode 100755 | ||
3128 | new mode 100644 | ||
3129 | diff --git a/arch/arm/mach-mx5/mx53_loco_pmic_da9053.c b/arch/arm/mach-mx5/mx53_loco_pmic_da9053.c | ||
3130 | old mode 100755 | ||
3131 | new mode 100644 | ||
3132 | diff --git a/arch/arm/mach-mx5/mx53_smd_pmic_da9053.c b/arch/arm/mach-mx5/mx53_smd_pmic_da9053.c | ||
3133 | old mode 100755 | ||
3134 | new mode 100644 | ||
3135 | diff --git a/arch/arm/mach-mx5/pm.c b/arch/arm/mach-mx5/pm.c | ||
3136 | old mode 100755 | ||
3137 | new mode 100644 | ||
3138 | diff --git a/arch/arm/mach-mx5/sdram_autogating.c b/arch/arm/mach-mx5/sdram_autogating.c | ||
3139 | old mode 100755 | ||
3140 | new mode 100644 | ||
3141 | diff --git a/arch/arm/mach-mx5/suspend.S b/arch/arm/mach-mx5/suspend.S | ||
3142 | old mode 100755 | ||
3143 | new mode 100644 | ||
3144 | diff --git a/arch/arm/mach-mx5/system.c b/arch/arm/mach-mx5/system.c | ||
3145 | old mode 100755 | ||
3146 | new mode 100644 | ||
3147 | diff --git a/arch/arm/mach-mx5/usb.h b/arch/arm/mach-mx5/usb.h | ||
3148 | old mode 100755 | ||
3149 | new mode 100644 | ||
3150 | diff --git a/arch/arm/mach-mx5/usb_dr.c b/arch/arm/mach-mx5/usb_dr.c | ||
3151 | old mode 100755 | ||
3152 | new mode 100644 | ||
3153 | diff --git a/arch/arm/mach-mx5/usb_h1.c b/arch/arm/mach-mx5/usb_h1.c | ||
3154 | old mode 100755 | ||
3155 | new mode 100644 | ||
3156 | diff --git a/arch/arm/mach-mx5/usb_h2.c b/arch/arm/mach-mx5/usb_h2.c | ||
3157 | old mode 100755 | ||
3158 | new mode 100644 | ||
3159 | diff --git a/arch/arm/mach-mx6/Kconfig b/arch/arm/mach-mx6/Kconfig | ||
3160 | index 45ae9ea..fad950e 100644 | ||
3161 | --- a/arch/arm/mach-mx6/Kconfig | ||
3162 | +++ b/arch/arm/mach-mx6/Kconfig | ||
3163 | @@ -173,6 +173,10 @@ config MACH_MX6Q_SABRELITE | ||
3164 | select IMX_HAVE_PLATFORM_IMX_ASRC | ||
3165 | select IMX_HAVE_PLATFORM_FLEXCAN | ||
3166 | select IMX_HAVE_PLATFORM_IMX_CAAM | ||
3167 | + select IMX_HAVE_PLATFORM_IMX_DVFS | ||
3168 | + select IMX_HAVE_PLATFORM_IMX_MIPI_CSI2 | ||
3169 | + select IMX_HAVE_PLATFORM_IMX_PCIE | ||
3170 | + select IMX_HAVE_PLATFORM_PERFMON | ||
3171 | help | ||
3172 | Include support for i.MX 6Quad SABRE Lite platform. This includes specific | ||
3173 | configurations for the board and its peripherals. | ||
3174 | diff --git a/arch/arm/mach-mx6/board-mx6q_sabrelite.c b/arch/arm/mach-mx6/board-mx6q_sabrelite.c | ||
3175 | index eff81ac..6b66ea3 100644 | ||
3176 | --- a/arch/arm/mach-mx6/board-mx6q_sabrelite.c | ||
3177 | +++ b/arch/arm/mach-mx6/board-mx6q_sabrelite.c | ||
3178 | @@ -56,12 +56,15 @@ | ||
3179 | #include <mach/mxc_dvfs.h> | ||
3180 | #include <mach/memory.h> | ||
3181 | #include <mach/iomux-mx6q.h> | ||
3182 | +#include <mach/iomux-mx6dl.h> | ||
3183 | #include <mach/imx-uart.h> | ||
3184 | #include <mach/viv_gpu.h> | ||
3185 | #include <mach/ahci_sata.h> | ||
3186 | #include <mach/ipu-v3.h> | ||
3187 | #include <mach/mxc_hdmi.h> | ||
3188 | #include <mach/mxc_asrc.h> | ||
3189 | +#include <linux/i2c/tsc2007.h> | ||
3190 | +#include <linux/wl12xx.h> | ||
3191 | |||
3192 | #include <asm/irq.h> | ||
3193 | #include <asm/setup.h> | ||
3194 | @@ -74,29 +77,53 @@ | ||
3195 | #include "crm_regs.h" | ||
3196 | #include "cpu_op-mx6.h" | ||
3197 | |||
3198 | -#define MX6Q_SABRELITE_SD3_CD IMX_GPIO_NR(7, 0) | ||
3199 | -#define MX6Q_SABRELITE_SD3_WP IMX_GPIO_NR(7, 1) | ||
3200 | -#define MX6Q_SABRELITE_SD4_CD IMX_GPIO_NR(2, 6) | ||
3201 | -#define MX6Q_SABRELITE_SD4_WP IMX_GPIO_NR(2, 7) | ||
3202 | -#define MX6Q_SABRELITE_ECSPI1_CS1 IMX_GPIO_NR(3, 19) | ||
3203 | -#define MX6Q_SABRELITE_USB_OTG_PWR IMX_GPIO_NR(3, 22) | ||
3204 | -#define MX6Q_SABRELITE_CAP_TCH_INT1 IMX_GPIO_NR(1, 9) | ||
3205 | -#define MX6Q_SABRELITE_USB_HUB_RESET IMX_GPIO_NR(7, 12) | ||
3206 | -#define MX6Q_SABRELITE_CAN1_STBY IMX_GPIO_NR(1, 2) | ||
3207 | -#define MX6Q_SABRELITE_CAN1_EN IMX_GPIO_NR(1, 4) | ||
3208 | -#define MX6Q_SABRELITE_MENU_KEY IMX_GPIO_NR(2, 1) | ||
3209 | -#define MX6Q_SABRELITE_BACK_KEY IMX_GPIO_NR(2, 2) | ||
3210 | -#define MX6Q_SABRELITE_ONOFF_KEY IMX_GPIO_NR(2, 3) | ||
3211 | -#define MX6Q_SABRELITE_HOME_KEY IMX_GPIO_NR(2, 4) | ||
3212 | -#define MX6Q_SABRELITE_VOL_UP_KEY IMX_GPIO_NR(7, 13) | ||
3213 | -#define MX6Q_SABRELITE_VOL_DOWN_KEY IMX_GPIO_NR(4, 5) | ||
3214 | -#define MX6Q_SABRELITE_CSI0_RST IMX_GPIO_NR(1, 8) | ||
3215 | -#define MX6Q_SABRELITE_CSI0_PWN IMX_GPIO_NR(1, 6) | ||
3216 | - | ||
3217 | -#define MX6Q_SABRELITE_SD3_WP_PADCFG (PAD_CTL_PKE | PAD_CTL_PUE | \ | ||
3218 | +#define MX6_SABRELITE_SD3_CD IMX_GPIO_NR(7, 0) | ||
3219 | +#define MX6_SABRELITE_SD3_WP IMX_GPIO_NR(7, 1) | ||
3220 | +#define MX6_SABRELITE_SD4_CD IMX_GPIO_NR(2, 6) | ||
3221 | +#define MX6_SABRELITE_SD4_WP IMX_GPIO_NR(2, 7) | ||
3222 | +#define MX6_SABRELITE_ECSPI1_CS1 IMX_GPIO_NR(3, 19) | ||
3223 | +#define MX6_SABRELITE_USB_OTG_PWR IMX_GPIO_NR(3, 22) | ||
3224 | +#define MX6_SABRELITE_CAP_TCH_INT1 IMX_GPIO_NR(1, 9) | ||
3225 | +#define MX6_SABRELITE_DRGB_IRQGPIO IMX_GPIO_NR(4, 20) | ||
3226 | +#define MX6_SABRELITE_USB_HUB_RESET IMX_GPIO_NR(7, 12) | ||
3227 | +#define MX6_SABRELITE_CAN1_STBY IMX_GPIO_NR(1, 2) | ||
3228 | +#define MX6_SABRELITE_CAN1_EN IMX_GPIO_NR(1, 4) | ||
3229 | +#define MX6_SABRELITE_CAN1_ERR IMX_GPIO_NR(1, 7) | ||
3230 | +#define MX6_SABRELITE_MENU_KEY IMX_GPIO_NR(2, 1) | ||
3231 | +#define MX6_SABRELITE_BACK_KEY IMX_GPIO_NR(2, 2) | ||
3232 | +#define MX6_SABRELITE_ONOFF_KEY IMX_GPIO_NR(2, 3) | ||
3233 | +#define MX6_SABRELITE_HOME_KEY IMX_GPIO_NR(2, 4) | ||
3234 | +#define MX6_SABRELITE_VOL_UP_KEY IMX_GPIO_NR(7, 13) | ||
3235 | +#define MX6_SABRELITE_VOL_DOWN_KEY IMX_GPIO_NR(4, 5) | ||
3236 | +#define MX6_SABRELITE_CSI0_RST IMX_GPIO_NR(1, 8) | ||
3237 | +#define MX6_SABRELITE_CSI0_PWN IMX_GPIO_NR(1, 6) | ||
3238 | +#define MX6_SABRELITE_ENET_PHY_INT IMX_GPIO_NR(1, 28) | ||
3239 | + | ||
3240 | +#define N6_WL1271_WL_IRQ IMX_GPIO_NR(6, 14) | ||
3241 | +#define N6_WL1271_WL_EN IMX_GPIO_NR(6, 15) | ||
3242 | +#define N6_WL1271_BT_EN IMX_GPIO_NR(6, 16) | ||
3243 | + | ||
3244 | +#define MX6_SABRELITE_CAN1_ERR_TEST_PADCFG (PAD_CTL_PKE | PAD_CTL_PUE | \ | ||
3245 | + PAD_CTL_PUS_100K_DOWN | PAD_CTL_SPEED_MED | \ | ||
3246 | + PAD_CTL_DSE_40ohm | PAD_CTL_HYS) | ||
3247 | +#define MX6_SABRELITE_CAN1_ERR_PADCFG (PAD_CTL_PUE | \ | ||
3248 | + PAD_CTL_PUS_100K_DOWN | PAD_CTL_SPEED_MED | \ | ||
3249 | + PAD_CTL_DSE_40ohm | PAD_CTL_HYS) | ||
3250 | +#define MX6_SABRELITE_SD3_WP_PADCFG (PAD_CTL_PKE | PAD_CTL_PUE | \ | ||
3251 | PAD_CTL_PUS_22K_UP | PAD_CTL_SPEED_MED | \ | ||
3252 | PAD_CTL_DSE_40ohm | PAD_CTL_HYS) | ||
3253 | |||
3254 | +#define WEAK_PULLUP (PAD_CTL_HYS | PAD_CTL_PKE \ | ||
3255 | + | PAD_CTL_PUE | PAD_CTL_PUS_100K_UP) | ||
3256 | + | ||
3257 | +#define N6_IRQ_PADCFG (PAD_CTL_PUE | PAD_CTL_PUS_100K_DOWN | PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS) | ||
3258 | +#define N6_IRQ_TEST_PADCFG (PAD_CTL_PKE | N6_IRQ_PADCFG) | ||
3259 | +#define N6_EN_PADCFG (PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm) | ||
3260 | + | ||
3261 | +#include "pads-mx6_sabrelite.h" | ||
3262 | +#define FOR_DL_SOLO | ||
3263 | +#include "pads-mx6_sabrelite.h" | ||
3264 | + | ||
3265 | void __init early_console_setup(unsigned long base, struct clk *clk); | ||
3266 | static struct clk *sata_clk; | ||
3267 | |||
3268 | @@ -108,252 +135,49 @@ extern struct regulator *(*get_cpu_regulator)(void); | ||
3269 | extern void (*put_cpu_regulator)(void); | ||
3270 | extern void mx6_cpu_regulator_init(void); | ||
3271 | |||
3272 | -static iomux_v3_cfg_t mx6q_sabrelite_pads[] = { | ||
3273 | - /* AUDMUX */ | ||
3274 | - MX6Q_PAD_SD2_DAT0__AUDMUX_AUD4_RXD, | ||
3275 | - MX6Q_PAD_SD2_DAT3__AUDMUX_AUD4_TXC, | ||
3276 | - MX6Q_PAD_SD2_DAT2__AUDMUX_AUD4_TXD, | ||
3277 | - MX6Q_PAD_SD2_DAT1__AUDMUX_AUD4_TXFS, | ||
3278 | - | ||
3279 | - /* CAN1 */ | ||
3280 | - MX6Q_PAD_KEY_ROW2__CAN1_RXCAN, | ||
3281 | - MX6Q_PAD_KEY_COL2__CAN1_TXCAN, | ||
3282 | - MX6Q_PAD_GPIO_2__GPIO_1_2, /* STNDBY */ | ||
3283 | - MX6Q_PAD_GPIO_7__GPIO_1_7, /* NERR */ | ||
3284 | - MX6Q_PAD_GPIO_4__GPIO_1_4, /* Enable */ | ||
3285 | - | ||
3286 | - /* CCM */ | ||
3287 | - MX6Q_PAD_GPIO_0__CCM_CLKO, /* SGTL500 sys_mclk */ | ||
3288 | - MX6Q_PAD_GPIO_3__CCM_CLKO2, /* J5 - Camera MCLK */ | ||
3289 | - | ||
3290 | - /* ECSPI1 */ | ||
3291 | - MX6Q_PAD_EIM_D17__ECSPI1_MISO, | ||
3292 | - MX6Q_PAD_EIM_D18__ECSPI1_MOSI, | ||
3293 | - MX6Q_PAD_EIM_D16__ECSPI1_SCLK, | ||
3294 | - MX6Q_PAD_EIM_D19__GPIO_3_19, /*SS1*/ | ||
3295 | - | ||
3296 | - /* ENET */ | ||
3297 | - MX6Q_PAD_ENET_MDIO__ENET_MDIO, | ||
3298 | - MX6Q_PAD_ENET_MDC__ENET_MDC, | ||
3299 | - MX6Q_PAD_RGMII_TXC__ENET_RGMII_TXC, | ||
3300 | - MX6Q_PAD_RGMII_TD0__ENET_RGMII_TD0, | ||
3301 | - MX6Q_PAD_RGMII_TD1__ENET_RGMII_TD1, | ||
3302 | - MX6Q_PAD_RGMII_TD2__ENET_RGMII_TD2, | ||
3303 | - MX6Q_PAD_RGMII_TD3__ENET_RGMII_TD3, | ||
3304 | - MX6Q_PAD_RGMII_TX_CTL__ENET_RGMII_TX_CTL, | ||
3305 | - MX6Q_PAD_ENET_REF_CLK__ENET_TX_CLK, | ||
3306 | - MX6Q_PAD_RGMII_RXC__ENET_RGMII_RXC, | ||
3307 | - MX6Q_PAD_RGMII_RD0__ENET_RGMII_RD0, | ||
3308 | - MX6Q_PAD_RGMII_RD1__ENET_RGMII_RD1, | ||
3309 | - MX6Q_PAD_RGMII_RD2__ENET_RGMII_RD2, | ||
3310 | - MX6Q_PAD_RGMII_RD3__ENET_RGMII_RD3, | ||
3311 | - MX6Q_PAD_RGMII_RX_CTL__ENET_RGMII_RX_CTL, | ||
3312 | - MX6Q_PAD_ENET_TX_EN__GPIO_1_28, /* Micrel RGMII Phy Interrupt */ | ||
3313 | - MX6Q_PAD_EIM_D23__GPIO_3_23, /* RGMII reset */ | ||
3314 | - | ||
3315 | - /* GPIO1 */ | ||
3316 | - MX6Q_PAD_ENET_RX_ER__GPIO_1_24, /* J9 - Microphone Detect */ | ||
3317 | - | ||
3318 | - /* GPIO2 */ | ||
3319 | - MX6Q_PAD_NANDF_D1__GPIO_2_1, /* J14 - Menu Button */ | ||
3320 | - MX6Q_PAD_NANDF_D2__GPIO_2_2, /* J14 - Back Button */ | ||
3321 | - MX6Q_PAD_NANDF_D3__GPIO_2_3, /* J14 - Search Button */ | ||
3322 | - MX6Q_PAD_NANDF_D4__GPIO_2_4, /* J14 - Home Button */ | ||
3323 | - MX6Q_PAD_EIM_A22__GPIO_2_16, /* J12 - Boot Mode Select */ | ||
3324 | - MX6Q_PAD_EIM_A21__GPIO_2_17, /* J12 - Boot Mode Select */ | ||
3325 | - MX6Q_PAD_EIM_A20__GPIO_2_18, /* J12 - Boot Mode Select */ | ||
3326 | - MX6Q_PAD_EIM_A19__GPIO_2_19, /* J12 - Boot Mode Select */ | ||
3327 | - MX6Q_PAD_EIM_A18__GPIO_2_20, /* J12 - Boot Mode Select */ | ||
3328 | - MX6Q_PAD_EIM_A17__GPIO_2_21, /* J12 - Boot Mode Select */ | ||
3329 | - MX6Q_PAD_EIM_A16__GPIO_2_22, /* J12 - Boot Mode Select */ | ||
3330 | - MX6Q_PAD_EIM_RW__GPIO_2_26, /* J12 - Boot Mode Select */ | ||
3331 | - MX6Q_PAD_EIM_LBA__GPIO_2_27, /* J12 - Boot Mode Select */ | ||
3332 | - MX6Q_PAD_EIM_EB0__GPIO_2_28, /* J12 - Boot Mode Select */ | ||
3333 | - MX6Q_PAD_EIM_EB1__GPIO_2_29, /* J12 - Boot Mode Select */ | ||
3334 | - MX6Q_PAD_EIM_EB3__GPIO_2_31, /* J12 - Boot Mode Select */ | ||
3335 | - | ||
3336 | - /* GPIO3 */ | ||
3337 | - MX6Q_PAD_EIM_DA0__GPIO_3_0, /* J12 - Boot Mode Select */ | ||
3338 | - MX6Q_PAD_EIM_DA1__GPIO_3_1, /* J12 - Boot Mode Select */ | ||
3339 | - MX6Q_PAD_EIM_DA2__GPIO_3_2, /* J12 - Boot Mode Select */ | ||
3340 | - MX6Q_PAD_EIM_DA3__GPIO_3_3, /* J12 - Boot Mode Select */ | ||
3341 | - MX6Q_PAD_EIM_DA4__GPIO_3_4, /* J12 - Boot Mode Select */ | ||
3342 | - MX6Q_PAD_EIM_DA5__GPIO_3_5, /* J12 - Boot Mode Select */ | ||
3343 | - MX6Q_PAD_EIM_DA6__GPIO_3_6, /* J12 - Boot Mode Select */ | ||
3344 | - MX6Q_PAD_EIM_DA7__GPIO_3_7, /* J12 - Boot Mode Select */ | ||
3345 | - MX6Q_PAD_EIM_DA8__GPIO_3_8, /* J12 - Boot Mode Select */ | ||
3346 | - MX6Q_PAD_EIM_DA9__GPIO_3_9, /* J12 - Boot Mode Select */ | ||
3347 | - MX6Q_PAD_EIM_DA10__GPIO_3_10, /* J12 - Boot Mode Select */ | ||
3348 | - MX6Q_PAD_EIM_DA11__GPIO_3_11, /* J12 - Boot Mode Select */ | ||
3349 | - MX6Q_PAD_EIM_DA12__GPIO_3_12, /* J12 - Boot Mode Select */ | ||
3350 | - MX6Q_PAD_EIM_DA13__GPIO_3_13, /* J12 - Boot Mode Select */ | ||
3351 | - MX6Q_PAD_EIM_DA14__GPIO_3_14, /* J12 - Boot Mode Select */ | ||
3352 | - MX6Q_PAD_EIM_DA15__GPIO_3_15, /* J12 - Boot Mode Select */ | ||
3353 | - | ||
3354 | - /* GPIO4 */ | ||
3355 | - MX6Q_PAD_GPIO_19__GPIO_4_5, /* J14 - Volume Down */ | ||
3356 | - | ||
3357 | - /* GPIO5 */ | ||
3358 | - MX6Q_PAD_EIM_WAIT__GPIO_5_0, /* J12 - Boot Mode Select */ | ||
3359 | - MX6Q_PAD_EIM_A24__GPIO_5_4, /* J12 - Boot Mode Select */ | ||
3360 | - | ||
3361 | - /* GPIO6 */ | ||
3362 | - MX6Q_PAD_EIM_A23__GPIO_6_6, /* J12 - Boot Mode Select */ | ||
3363 | - | ||
3364 | - /* GPIO7 */ | ||
3365 | - MX6Q_PAD_GPIO_17__GPIO_7_12, /* USB Hub Reset */ | ||
3366 | - MX6Q_PAD_GPIO_18__GPIO_7_13, /* J14 - Volume Up */ | ||
3367 | - | ||
3368 | - /* I2C1, SGTL5000 */ | ||
3369 | - MX6Q_PAD_EIM_D21__I2C1_SCL, /* GPIO3[21] */ | ||
3370 | - MX6Q_PAD_EIM_D28__I2C1_SDA, /* GPIO3[28] */ | ||
3371 | - | ||
3372 | - /* I2C2 Camera, MIPI */ | ||
3373 | - MX6Q_PAD_KEY_COL3__I2C2_SCL, /* GPIO4[12] */ | ||
3374 | - MX6Q_PAD_KEY_ROW3__I2C2_SDA, /* GPIO4[13] */ | ||
3375 | - | ||
3376 | - /* I2C3 */ | ||
3377 | - MX6Q_PAD_GPIO_5__I2C3_SCL, /* GPIO1[5] - J7 - Display card */ | ||
3378 | -#ifdef CONFIG_FEC_1588 | ||
3379 | - MX6Q_PAD_GPIO_16__ENET_ANATOP_ETHERNET_REF_OUT, | ||
3380 | -#else | ||
3381 | - MX6Q_PAD_GPIO_16__I2C3_SDA, /* GPIO7[11] - J15 - RGB connector */ | ||
3382 | -#endif | ||
3383 | +#define IOMUX_SETUP(pad_list) mxc_iomux_v3_setup_pads(mx6q_##pad_list, \ | ||
3384 | + mx6dl_solo_##pad_list) | ||
3385 | |||
3386 | - /* DISPLAY */ | ||
3387 | - MX6Q_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK, | ||
3388 | - MX6Q_PAD_DI0_PIN15__IPU1_DI0_PIN15, /* DE */ | ||
3389 | - MX6Q_PAD_DI0_PIN2__IPU1_DI0_PIN2, /* HSync */ | ||
3390 | - MX6Q_PAD_DI0_PIN3__IPU1_DI0_PIN3, /* VSync */ | ||
3391 | - MX6Q_PAD_DI0_PIN4__IPU1_DI0_PIN4, /* Contrast */ | ||
3392 | - MX6Q_PAD_DISP0_DAT0__IPU1_DISP0_DAT_0, | ||
3393 | - MX6Q_PAD_DISP0_DAT1__IPU1_DISP0_DAT_1, | ||
3394 | - MX6Q_PAD_DISP0_DAT2__IPU1_DISP0_DAT_2, | ||
3395 | - MX6Q_PAD_DISP0_DAT3__IPU1_DISP0_DAT_3, | ||
3396 | - MX6Q_PAD_DISP0_DAT4__IPU1_DISP0_DAT_4, | ||
3397 | - MX6Q_PAD_DISP0_DAT5__IPU1_DISP0_DAT_5, | ||
3398 | - MX6Q_PAD_DISP0_DAT6__IPU1_DISP0_DAT_6, | ||
3399 | - MX6Q_PAD_DISP0_DAT7__IPU1_DISP0_DAT_7, | ||
3400 | - MX6Q_PAD_DISP0_DAT8__IPU1_DISP0_DAT_8, | ||
3401 | - MX6Q_PAD_DISP0_DAT9__IPU1_DISP0_DAT_9, | ||
3402 | - MX6Q_PAD_DISP0_DAT10__IPU1_DISP0_DAT_10, | ||
3403 | - MX6Q_PAD_DISP0_DAT11__IPU1_DISP0_DAT_11, | ||
3404 | - MX6Q_PAD_DISP0_DAT12__IPU1_DISP0_DAT_12, | ||
3405 | - MX6Q_PAD_DISP0_DAT13__IPU1_DISP0_DAT_13, | ||
3406 | - MX6Q_PAD_DISP0_DAT14__IPU1_DISP0_DAT_14, | ||
3407 | - MX6Q_PAD_DISP0_DAT15__IPU1_DISP0_DAT_15, | ||
3408 | - MX6Q_PAD_DISP0_DAT16__IPU1_DISP0_DAT_16, | ||
3409 | - MX6Q_PAD_DISP0_DAT17__IPU1_DISP0_DAT_17, | ||
3410 | - MX6Q_PAD_DISP0_DAT18__IPU1_DISP0_DAT_18, | ||
3411 | - MX6Q_PAD_DISP0_DAT19__IPU1_DISP0_DAT_19, | ||
3412 | - MX6Q_PAD_DISP0_DAT20__IPU1_DISP0_DAT_20, | ||
3413 | - MX6Q_PAD_DISP0_DAT21__IPU1_DISP0_DAT_21, | ||
3414 | - MX6Q_PAD_DISP0_DAT22__IPU1_DISP0_DAT_22, | ||
3415 | - MX6Q_PAD_DISP0_DAT23__IPU1_DISP0_DAT_23, | ||
3416 | - MX6Q_PAD_GPIO_7__GPIO_1_7, /* J7 - Display Connector GP */ | ||
3417 | - MX6Q_PAD_GPIO_9__GPIO_1_9, /* J7 - Display Connector GP */ | ||
3418 | - MX6Q_PAD_NANDF_D0__GPIO_2_0, /* J6 - LVDS Display contrast */ | ||
3419 | - | ||
3420 | - | ||
3421 | - /* PWM1 */ | ||
3422 | - MX6Q_PAD_SD1_DAT3__PWM1_PWMO, /* GPIO1[21] */ | ||
3423 | - | ||
3424 | - /* PWM2 */ | ||
3425 | - MX6Q_PAD_SD1_DAT2__PWM2_PWMO, /* GPIO1[19] */ | ||
3426 | - | ||
3427 | - /* PWM3 */ | ||
3428 | - MX6Q_PAD_SD1_DAT1__PWM3_PWMO, /* GPIO1[17] */ | ||
3429 | - | ||
3430 | - /* PWM4 */ | ||
3431 | - MX6Q_PAD_SD1_CMD__PWM4_PWMO, /* GPIO1[18] */ | ||
3432 | - | ||
3433 | - /* UART1 */ | ||
3434 | - MX6Q_PAD_SD3_DAT7__UART1_TXD, | ||
3435 | - MX6Q_PAD_SD3_DAT6__UART1_RXD, | ||
3436 | - | ||
3437 | - /* UART2 for debug */ | ||
3438 | - MX6Q_PAD_EIM_D26__UART2_TXD, | ||
3439 | - MX6Q_PAD_EIM_D27__UART2_RXD, | ||
3440 | - | ||
3441 | - /* USBOTG ID pin */ | ||
3442 | - MX6Q_PAD_GPIO_1__USBOTG_ID, | ||
3443 | - | ||
3444 | - /* USB OC pin */ | ||
3445 | - MX6Q_PAD_KEY_COL4__USBOH3_USBOTG_OC, | ||
3446 | - MX6Q_PAD_EIM_D30__USBOH3_USBH1_OC, | ||
3447 | - | ||
3448 | - /* USDHC3 */ | ||
3449 | - MX6Q_PAD_SD3_CLK__USDHC3_CLK_50MHZ, | ||
3450 | - MX6Q_PAD_SD3_CMD__USDHC3_CMD_50MHZ, | ||
3451 | - MX6Q_PAD_SD3_DAT0__USDHC3_DAT0_50MHZ, | ||
3452 | - MX6Q_PAD_SD3_DAT1__USDHC3_DAT1_50MHZ, | ||
3453 | - MX6Q_PAD_SD3_DAT2__USDHC3_DAT2_50MHZ, | ||
3454 | - MX6Q_PAD_SD3_DAT3__USDHC3_DAT3_50MHZ, | ||
3455 | - MX6Q_PAD_SD3_DAT5__GPIO_7_0, /* J18 - SD3_CD */ | ||
3456 | - NEW_PAD_CTRL(MX6Q_PAD_SD3_DAT4__GPIO_7_1, MX6Q_SABRELITE_SD3_WP_PADCFG), | ||
3457 | - | ||
3458 | - /* USDHC4 */ | ||
3459 | - MX6Q_PAD_SD4_CLK__USDHC4_CLK_50MHZ, | ||
3460 | - MX6Q_PAD_SD4_CMD__USDHC4_CMD_50MHZ, | ||
3461 | - MX6Q_PAD_SD4_DAT0__USDHC4_DAT0_50MHZ, | ||
3462 | - MX6Q_PAD_SD4_DAT1__USDHC4_DAT1_50MHZ, | ||
3463 | - MX6Q_PAD_SD4_DAT2__USDHC4_DAT2_50MHZ, | ||
3464 | - MX6Q_PAD_SD4_DAT3__USDHC4_DAT3_50MHZ, | ||
3465 | - MX6Q_PAD_NANDF_D6__GPIO_2_6, /* J20 - SD4_CD */ | ||
3466 | - MX6Q_PAD_NANDF_D7__GPIO_2_7, /* SD4_WP */ | ||
3467 | -}; | ||
3468 | - | ||
3469 | -static iomux_v3_cfg_t mx6q_sabrelite_csi0_sensor_pads[] = { | ||
3470 | - /* IPU1 Camera */ | ||
3471 | - MX6Q_PAD_CSI0_DAT8__IPU1_CSI0_D_8, | ||
3472 | - MX6Q_PAD_CSI0_DAT9__IPU1_CSI0_D_9, | ||
3473 | - MX6Q_PAD_CSI0_DAT10__IPU1_CSI0_D_10, | ||
3474 | - MX6Q_PAD_CSI0_DAT11__IPU1_CSI0_D_11, | ||
3475 | - MX6Q_PAD_CSI0_DAT12__IPU1_CSI0_D_12, | ||
3476 | - MX6Q_PAD_CSI0_DAT13__IPU1_CSI0_D_13, | ||
3477 | - MX6Q_PAD_CSI0_DAT14__IPU1_CSI0_D_14, | ||
3478 | - MX6Q_PAD_CSI0_DAT15__IPU1_CSI0_D_15, | ||
3479 | - MX6Q_PAD_CSI0_DAT16__IPU1_CSI0_D_16, | ||
3480 | - MX6Q_PAD_CSI0_DAT17__IPU1_CSI0_D_17, | ||
3481 | - MX6Q_PAD_CSI0_DAT18__IPU1_CSI0_D_18, | ||
3482 | - MX6Q_PAD_CSI0_DAT19__IPU1_CSI0_D_19, | ||
3483 | - MX6Q_PAD_CSI0_DATA_EN__IPU1_CSI0_DATA_EN, | ||
3484 | - MX6Q_PAD_CSI0_MCLK__IPU1_CSI0_HSYNC, | ||
3485 | - MX6Q_PAD_CSI0_PIXCLK__IPU1_CSI0_PIXCLK, | ||
3486 | - MX6Q_PAD_CSI0_VSYNC__IPU1_CSI0_VSYNC, | ||
3487 | - MX6Q_PAD_GPIO_6__GPIO_1_6, /* J5 - Camera GP */ | ||
3488 | - MX6Q_PAD_GPIO_8__GPIO_1_8, /* J5 - Camera Reset */ | ||
3489 | - MX6Q_PAD_SD1_DAT0__GPIO_1_16, /* J5 - Camera GP */ | ||
3490 | - MX6Q_PAD_NANDF_D5__GPIO_2_5, /* J16 - MIPI GP */ | ||
3491 | - MX6Q_PAD_NANDF_WP_B__GPIO_6_9, /* J16 - MIPI GP */ | ||
3492 | -}; | ||
3493 | - | ||
3494 | -static iomux_v3_cfg_t mx6q_sabrelite_hdmi_ddc_pads[] = { | ||
3495 | - MX6Q_PAD_KEY_COL3__HDMI_TX_DDC_SCL, /* HDMI DDC SCL */ | ||
3496 | - MX6Q_PAD_KEY_ROW3__HDMI_TX_DDC_SDA, /* HDMI DDC SDA */ | ||
3497 | -}; | ||
3498 | - | ||
3499 | -static iomux_v3_cfg_t mx6q_sabrelite_i2c2_pads[] = { | ||
3500 | - MX6Q_PAD_KEY_COL3__I2C2_SCL, /* I2C2 SCL */ | ||
3501 | - MX6Q_PAD_KEY_ROW3__I2C2_SDA, /* I2C2 SDA */ | ||
3502 | -}; | ||
3503 | - | ||
3504 | -#define MX6Q_USDHC_PAD_SETTING(id, speed) \ | ||
3505 | -mx6q_sd##id##_##speed##mhz[] = { \ | ||
3506 | - MX6Q_PAD_SD##id##_CLK__USDHC##id##_CLK_##speed##MHZ, \ | ||
3507 | - MX6Q_PAD_SD##id##_CMD__USDHC##id##_CMD_##speed##MHZ, \ | ||
3508 | - MX6Q_PAD_SD##id##_DAT0__USDHC##id##_DAT0_##speed##MHZ, \ | ||
3509 | - MX6Q_PAD_SD##id##_DAT1__USDHC##id##_DAT1_##speed##MHZ, \ | ||
3510 | - MX6Q_PAD_SD##id##_DAT2__USDHC##id##_DAT2_##speed##MHZ, \ | ||
3511 | - MX6Q_PAD_SD##id##_DAT3__USDHC##id##_DAT3_##speed##MHZ, \ | ||
3512 | +int mxc_iomux_v3_setup_pads(iomux_v3_cfg_t *mx6q_pad_list, | ||
3513 | + iomux_v3_cfg_t *mx6dl_solo_pad_list) | ||
3514 | +{ | ||
3515 | + iomux_v3_cfg_t *p = cpu_is_mx6q() ? mx6q_pad_list : mx6dl_solo_pad_list; | ||
3516 | + int ret; | ||
3517 | + | ||
3518 | + while (*p) { | ||
3519 | + ret = mxc_iomux_v3_setup_pad(*p); | ||
3520 | + if (ret) | ||
3521 | + return ret; | ||
3522 | + p++; | ||
3523 | + } | ||
3524 | + return 0; | ||
3525 | } | ||
3526 | |||
3527 | -static iomux_v3_cfg_t MX6Q_USDHC_PAD_SETTING(3, 50); | ||
3528 | -static iomux_v3_cfg_t MX6Q_USDHC_PAD_SETTING(3, 100); | ||
3529 | -static iomux_v3_cfg_t MX6Q_USDHC_PAD_SETTING(3, 200); | ||
3530 | -static iomux_v3_cfg_t MX6Q_USDHC_PAD_SETTING(4, 50); | ||
3531 | -static iomux_v3_cfg_t MX6Q_USDHC_PAD_SETTING(4, 100); | ||
3532 | -static iomux_v3_cfg_t MX6Q_USDHC_PAD_SETTING(4, 200); | ||
3533 | +struct gpio n6w_wl1271_gpios[] __initdata = { | ||
3534 | + {.label = "wl1271_int", .gpio = N6_WL1271_WL_IRQ, .flags = GPIOF_DIR_IN}, | ||
3535 | + {.label = "wl1271_bt_en", .gpio = N6_WL1271_BT_EN, .flags = 0}, | ||
3536 | + {.label = "wl1271_wl_en", .gpio = N6_WL1271_WL_EN, .flags = 0}, | ||
3537 | +}; | ||
3538 | + | ||
3539 | +int is_nitrogen6w(void) | ||
3540 | +{ | ||
3541 | + int ret = gpio_request_array(n6w_wl1271_gpios, | ||
3542 | + ARRAY_SIZE(n6w_wl1271_gpios)); | ||
3543 | + if (ret) { | ||
3544 | + printk(KERN_ERR "%s gpio_request_array failed(" | ||
3545 | + "%d) for n6w_wl1271_gpios\n", __func__, ret); | ||
3546 | + return ret; | ||
3547 | + } | ||
3548 | + ret = gpio_get_value(N6_WL1271_WL_IRQ); | ||
3549 | + if (ret <= 0) { | ||
3550 | + /* Sabrelite, not nitrogen6w */ | ||
3551 | + gpio_free(N6_WL1271_WL_IRQ); | ||
3552 | + gpio_free(N6_WL1271_WL_EN); | ||
3553 | + gpio_free(N6_WL1271_BT_EN); | ||
3554 | + ret = 0; | ||
3555 | + } | ||
3556 | + return ret; | ||
3557 | +} | ||
3558 | |||
3559 | enum sd_pad_mode { | ||
3560 | SD_PAD_MODE_LOW_SPEED, | ||
3561 | @@ -365,35 +189,9 @@ static int plt_sd_pad_change(unsigned int index, int clock) | ||
3562 | { | ||
3563 | /* LOW speed is the default state of SD pads */ | ||
3564 | static enum sd_pad_mode pad_mode = SD_PAD_MODE_LOW_SPEED; | ||
3565 | + int i = (index - 1) * SD_SPEED_CNT; | ||
3566 | |||
3567 | - iomux_v3_cfg_t *sd_pads_200mhz = NULL; | ||
3568 | - iomux_v3_cfg_t *sd_pads_100mhz = NULL; | ||
3569 | - iomux_v3_cfg_t *sd_pads_50mhz = NULL; | ||
3570 | - | ||
3571 | - u32 sd_pads_200mhz_cnt; | ||
3572 | - u32 sd_pads_100mhz_cnt; | ||
3573 | - u32 sd_pads_50mhz_cnt; | ||
3574 | - | ||
3575 | - switch (index) { | ||
3576 | - case 2: | ||
3577 | - sd_pads_200mhz = mx6q_sd3_200mhz; | ||
3578 | - sd_pads_100mhz = mx6q_sd3_100mhz; | ||
3579 | - sd_pads_50mhz = mx6q_sd3_50mhz; | ||
3580 | - | ||
3581 | - sd_pads_200mhz_cnt = ARRAY_SIZE(mx6q_sd3_200mhz); | ||
3582 | - sd_pads_100mhz_cnt = ARRAY_SIZE(mx6q_sd3_100mhz); | ||
3583 | - sd_pads_50mhz_cnt = ARRAY_SIZE(mx6q_sd3_50mhz); | ||
3584 | - break; | ||
3585 | - case 3: | ||
3586 | - sd_pads_200mhz = mx6q_sd4_200mhz; | ||
3587 | - sd_pads_100mhz = mx6q_sd4_100mhz; | ||
3588 | - sd_pads_50mhz = mx6q_sd4_50mhz; | ||
3589 | - | ||
3590 | - sd_pads_200mhz_cnt = ARRAY_SIZE(mx6q_sd4_200mhz); | ||
3591 | - sd_pads_100mhz_cnt = ARRAY_SIZE(mx6q_sd4_100mhz); | ||
3592 | - sd_pads_50mhz_cnt = ARRAY_SIZE(mx6q_sd4_50mhz); | ||
3593 | - break; | ||
3594 | - default: | ||
3595 | + if ((index < 1) || (index > 3)) { | ||
3596 | printk(KERN_ERR "no such SD host controller index %d\n", index); | ||
3597 | return -EINVAL; | ||
3598 | } | ||
3599 | @@ -401,61 +199,71 @@ static int plt_sd_pad_change(unsigned int index, int clock) | ||
3600 | if (clock > 100000000) { | ||
3601 | if (pad_mode == SD_PAD_MODE_HIGH_SPEED) | ||
3602 | return 0; | ||
3603 | - BUG_ON(!sd_pads_200mhz); | ||
3604 | pad_mode = SD_PAD_MODE_HIGH_SPEED; | ||
3605 | - return mxc_iomux_v3_setup_multiple_pads(sd_pads_200mhz, | ||
3606 | - sd_pads_200mhz_cnt); | ||
3607 | + i += _200MHZ; | ||
3608 | } else if (clock > 52000000) { | ||
3609 | if (pad_mode == SD_PAD_MODE_MED_SPEED) | ||
3610 | return 0; | ||
3611 | - BUG_ON(!sd_pads_100mhz); | ||
3612 | pad_mode = SD_PAD_MODE_MED_SPEED; | ||
3613 | - return mxc_iomux_v3_setup_multiple_pads(sd_pads_100mhz, | ||
3614 | - sd_pads_100mhz_cnt); | ||
3615 | + i += _100MHZ; | ||
3616 | } else { | ||
3617 | if (pad_mode == SD_PAD_MODE_LOW_SPEED) | ||
3618 | return 0; | ||
3619 | - BUG_ON(!sd_pads_50mhz); | ||
3620 | pad_mode = SD_PAD_MODE_LOW_SPEED; | ||
3621 | - return mxc_iomux_v3_setup_multiple_pads(sd_pads_50mhz, | ||
3622 | - sd_pads_50mhz_cnt); | ||
3623 | + i += _50MHZ; | ||
3624 | } | ||
3625 | + return IOMUX_SETUP(sd_pads[i]); | ||
3626 | } | ||
3627 | |||
3628 | -static const struct esdhc_platform_data mx6q_sabrelite_sd3_data __initconst = { | ||
3629 | - .cd_gpio = MX6Q_SABRELITE_SD3_CD, | ||
3630 | - .wp_gpio = MX6Q_SABRELITE_SD3_WP, | ||
3631 | +#ifdef CONFIG_WL12XX_PLATFORM_DATA | ||
3632 | +static struct esdhc_platform_data mx6_sabrelite_sd2_data = { | ||
3633 | + .always_present = 1, | ||
3634 | + .cd_gpio = -1, | ||
3635 | + .wp_gpio = -1, | ||
3636 | + .keep_power_at_suspend = 0, | ||
3637 | + .caps = MMC_CAP_POWER_OFF_CARD, | ||
3638 | + .platform_pad_change = plt_sd_pad_change, | ||
3639 | +}; | ||
3640 | +#endif | ||
3641 | + | ||
3642 | +static struct esdhc_platform_data mx6_sabrelite_sd3_data = { | ||
3643 | + .cd_gpio = MX6_SABRELITE_SD3_CD, | ||
3644 | + .wp_gpio = MX6_SABRELITE_SD3_WP, | ||
3645 | .keep_power_at_suspend = 1, | ||
3646 | .platform_pad_change = plt_sd_pad_change, | ||
3647 | }; | ||
3648 | |||
3649 | -static const struct esdhc_platform_data mx6q_sabrelite_sd4_data __initconst = { | ||
3650 | - .cd_gpio = MX6Q_SABRELITE_SD4_CD, | ||
3651 | - .wp_gpio = MX6Q_SABRELITE_SD4_WP, | ||
3652 | +static const struct esdhc_platform_data mx6_sabrelite_sd4_data __initconst = { | ||
3653 | + .cd_gpio = MX6_SABRELITE_SD4_CD, | ||
3654 | + .wp_gpio = -1, | ||
3655 | .keep_power_at_suspend = 1, | ||
3656 | .platform_pad_change = plt_sd_pad_change, | ||
3657 | }; | ||
3658 | |||
3659 | static const struct anatop_thermal_platform_data | ||
3660 | - mx6q_sabrelite_anatop_thermal_data __initconst = { | ||
3661 | + mx6_sabrelite_anatop_thermal_data __initconst = { | ||
3662 | .name = "anatop_thermal", | ||
3663 | }; | ||
3664 | |||
3665 | -static inline void mx6q_sabrelite_init_uart(void) | ||
3666 | -{ | ||
3667 | - imx6q_add_imx_uart(0, NULL); | ||
3668 | - imx6q_add_imx_uart(1, NULL); | ||
3669 | -} | ||
3670 | +static const struct imxuart_platform_data mx6_arm2_uart2_data __initconst = { | ||
3671 | + .flags = IMXUART_HAVE_RTSCTS | IMXUART_SDMA, | ||
3672 | + .dma_req_rx = MX6Q_DMA_REQ_UART3_RX, | ||
3673 | + .dma_req_tx = MX6Q_DMA_REQ_UART3_TX, | ||
3674 | +}; | ||
3675 | |||
3676 | -static int mx6q_sabrelite_fec_phy_init(struct phy_device *phydev) | ||
3677 | +static int mx6_sabrelite_fec_phy_init(struct phy_device *phydev) | ||
3678 | { | ||
3679 | - /* prefer master mode, disable 1000 Base-T capable */ | ||
3680 | - phy_write(phydev, 0x9, 0x1c00); | ||
3681 | + /* prefer master mode */ | ||
3682 | + phy_write(phydev, 0x9, 0x1f00); | ||
3683 | |||
3684 | /* min rx data delay */ | ||
3685 | phy_write(phydev, 0x0b, 0x8105); | ||
3686 | phy_write(phydev, 0x0c, 0x0000); | ||
3687 | |||
3688 | + /* min tx data delay */ | ||
3689 | + phy_write(phydev, 0x0b, 0x8106); | ||
3690 | + phy_write(phydev, 0x0c, 0x0000); | ||
3691 | + | ||
3692 | /* max rx/tx clock delay, min rx/tx control delay */ | ||
3693 | phy_write(phydev, 0x0b, 0x8104); | ||
3694 | phy_write(phydev, 0x0c, 0xf0f0); | ||
3695 | @@ -465,17 +273,18 @@ static int mx6q_sabrelite_fec_phy_init(struct phy_device *phydev) | ||
3696 | } | ||
3697 | |||
3698 | static struct fec_platform_data fec_data __initdata = { | ||
3699 | - .init = mx6q_sabrelite_fec_phy_init, | ||
3700 | + .init = mx6_sabrelite_fec_phy_init, | ||
3701 | .phy = PHY_INTERFACE_MODE_RGMII, | ||
3702 | + .phy_irq = gpio_to_irq(MX6_SABRELITE_ENET_PHY_INT) | ||
3703 | }; | ||
3704 | |||
3705 | -static int mx6q_sabrelite_spi_cs[] = { | ||
3706 | - MX6Q_SABRELITE_ECSPI1_CS1, | ||
3707 | +static int mx6_sabrelite_spi_cs[] = { | ||
3708 | + MX6_SABRELITE_ECSPI1_CS1, | ||
3709 | }; | ||
3710 | |||
3711 | -static const struct spi_imx_master mx6q_sabrelite_spi_data __initconst = { | ||
3712 | - .chipselect = mx6q_sabrelite_spi_cs, | ||
3713 | - .num_chipselect = ARRAY_SIZE(mx6q_sabrelite_spi_cs), | ||
3714 | +static const struct spi_imx_master mx6_sabrelite_spi_data __initconst = { | ||
3715 | + .chipselect = mx6_sabrelite_spi_cs, | ||
3716 | + .num_chipselect = ARRAY_SIZE(mx6_sabrelite_spi_cs), | ||
3717 | }; | ||
3718 | |||
3719 | #if defined(CONFIG_MTD_M25P80) || defined(CONFIG_MTD_M25P80_MODULE) | ||
3720 | @@ -483,10 +292,15 @@ static struct mtd_partition imx6_sabrelite_spi_nor_partitions[] = { | ||
3721 | { | ||
3722 | .name = "bootloader", | ||
3723 | .offset = 0, | ||
3724 | - .size = 0x00100000, | ||
3725 | + .size = 768*1024, | ||
3726 | + }, | ||
3727 | + { | ||
3728 | + .name = "ubparams", | ||
3729 | + .offset = MTDPART_OFS_APPEND, | ||
3730 | + .size = 8*1024, | ||
3731 | }, | ||
3732 | { | ||
3733 | - .name = "kernel", | ||
3734 | + .name = "unused", | ||
3735 | .offset = MTDPART_OFS_APPEND, | ||
3736 | .size = MTDPART_SIZ_FULL, | ||
3737 | }, | ||
3738 | @@ -565,7 +379,7 @@ static struct platform_device mx6_sabrelite_audio_device = { | ||
3739 | .name = "imx-sgtl5000", | ||
3740 | }; | ||
3741 | |||
3742 | -static struct imxi2c_platform_data mx6q_sabrelite_i2c_data = { | ||
3743 | +static struct imxi2c_platform_data mx6_sabrelite_i2c_data = { | ||
3744 | .bitrate = 100000, | ||
3745 | }; | ||
3746 | |||
3747 | @@ -575,35 +389,58 @@ static struct i2c_board_info mxc_i2c0_board_info[] __initdata = { | ||
3748 | }, | ||
3749 | }; | ||
3750 | |||
3751 | -static void mx6q_csi0_cam_powerdown(int powerdown) | ||
3752 | +static void mx6_csi0_cam_powerdown(int powerdown) | ||
3753 | { | ||
3754 | if (powerdown) | ||
3755 | - gpio_set_value(MX6Q_SABRELITE_CSI0_PWN, 1); | ||
3756 | + gpio_set_value(MX6_SABRELITE_CSI0_PWN, 1); | ||
3757 | else | ||
3758 | - gpio_set_value(MX6Q_SABRELITE_CSI0_PWN, 0); | ||
3759 | + gpio_set_value(MX6_SABRELITE_CSI0_PWN, 0); | ||
3760 | |||
3761 | msleep(2); | ||
3762 | } | ||
3763 | |||
3764 | -static void mx6q_csi0_io_init(void) | ||
3765 | +static void camera_reset(int power_gp, int reset_gp, int reset_gp2) | ||
3766 | { | ||
3767 | - mxc_iomux_v3_setup_multiple_pads(mx6q_sabrelite_csi0_sensor_pads, | ||
3768 | - ARRAY_SIZE(mx6q_sabrelite_csi0_sensor_pads)); | ||
3769 | - | ||
3770 | /* Camera power down */ | ||
3771 | - gpio_request(MX6Q_SABRELITE_CSI0_PWN, "cam-pwdn"); | ||
3772 | - gpio_direction_output(MX6Q_SABRELITE_CSI0_PWN, 1); | ||
3773 | + gpio_request(power_gp, "cam-pwdn"); | ||
3774 | + gpio_request(reset_gp, "cam-reset"); | ||
3775 | + gpio_request(reset_gp2, "cam-reset2"); | ||
3776 | + gpio_direction_output(power_gp, 1); | ||
3777 | + /* Camera reset */ | ||
3778 | + gpio_direction_output(reset_gp, 0); | ||
3779 | + gpio_direction_output(reset_gp2, 0); | ||
3780 | + msleep(1); | ||
3781 | + gpio_set_value(power_gp, 0); | ||
3782 | msleep(1); | ||
3783 | - gpio_set_value(MX6Q_SABRELITE_CSI0_PWN, 0); | ||
3784 | + gpio_set_value(reset_gp, 1); | ||
3785 | + gpio_set_value(reset_gp2, 1); | ||
3786 | +} | ||
3787 | |||
3788 | - /* Camera reset */ | ||
3789 | - gpio_request(MX6Q_SABRELITE_CSI0_RST, "cam-reset"); | ||
3790 | - gpio_direction_output(MX6Q_SABRELITE_CSI0_RST, 1); | ||
3791 | +#if defined(CONFIG_MXC_CAMERA_OV5640_MIPI) || defined(CONFIG_MXC_CAMERA_OV5640_MIPI_MODULE) | ||
3792 | +static void mx6_mipi_sensor_io_init(void) | ||
3793 | +{ | ||
3794 | + IOMUX_SETUP(sabrelite_mipi_pads); | ||
3795 | |||
3796 | - gpio_set_value(MX6Q_SABRELITE_CSI0_RST, 0); | ||
3797 | - msleep(1); | ||
3798 | - gpio_set_value(MX6Q_SABRELITE_CSI0_RST, 1); | ||
3799 | + camera_reset(MX6_SABRELITE_CSI0_PWN, IMX_GPIO_NR(2, 5), | ||
3800 | + IMX_GPIO_NR(6, 11)); | ||
3801 | +/*for mx6dl, mipi virtual channel 1 connect to csi 1*/ | ||
3802 | + if (cpu_is_mx6dl()) | ||
3803 | + mxc_iomux_set_gpr_register(13, 3, 3, 1); | ||
3804 | +} | ||
3805 | + | ||
3806 | +static struct fsl_mxc_camera_platform_data ov5640_mipi_data = { | ||
3807 | + .mclk = 24000000, | ||
3808 | + .csi = 0, | ||
3809 | + .io_init = mx6_mipi_sensor_io_init, | ||
3810 | + .pwdn = mx6_csi0_cam_powerdown, | ||
3811 | +}; | ||
3812 | +#else | ||
3813 | +static void mx6_csi0_io_init(void) | ||
3814 | +{ | ||
3815 | + IOMUX_SETUP(sabrelite_csi0_sensor_pads); | ||
3816 | |||
3817 | + camera_reset(MX6_SABRELITE_CSI0_PWN, MX6_SABRELITE_CSI0_RST, | ||
3818 | + IMX_GPIO_NR(6, 11)); | ||
3819 | /* For MX6Q GPR1 bit19 and bit20 meaning: | ||
3820 | * Bit19: 0 - Enable mipi to IPU1 CSI0 | ||
3821 | * virtual channel is fixed to 0 | ||
3822 | @@ -616,43 +453,72 @@ static void mx6q_csi0_io_init(void) | ||
3823 | * IPU2 CSI0 directly connect to mipi csi2, | ||
3824 | * virtual channel is fixed to 2 | ||
3825 | */ | ||
3826 | - mxc_iomux_set_gpr_register(1, 19, 1, 1); | ||
3827 | + if (cpu_is_mx6q()) | ||
3828 | + mxc_iomux_set_gpr_register(1, 19, 1, 1); | ||
3829 | + else | ||
3830 | + mxc_iomux_set_gpr_register(13, 0, 3, 4); | ||
3831 | } | ||
3832 | |||
3833 | static struct fsl_mxc_camera_platform_data camera_data = { | ||
3834 | .mclk = 24000000, | ||
3835 | .mclk_source = 0, | ||
3836 | .csi = 0, | ||
3837 | - .io_init = mx6q_csi0_io_init, | ||
3838 | - .pwdn = mx6q_csi0_cam_powerdown, | ||
3839 | + .io_init = mx6_csi0_io_init, | ||
3840 | + .pwdn = mx6_csi0_cam_powerdown, | ||
3841 | }; | ||
3842 | |||
3843 | +#endif | ||
3844 | + | ||
3845 | static struct i2c_board_info mxc_i2c1_board_info[] __initdata = { | ||
3846 | { | ||
3847 | I2C_BOARD_INFO("mxc_hdmi_i2c", 0x50), | ||
3848 | }, | ||
3849 | +#if defined(CONFIG_MXC_CAMERA_OV5640_MIPI) || defined(CONFIG_MXC_CAMERA_OV5640_MIPI_MODULE) | ||
3850 | + { | ||
3851 | + I2C_BOARD_INFO("ov5640_mipi", 0x3c), | ||
3852 | + .platform_data = (void *)&ov5640_mipi_data, | ||
3853 | + }, | ||
3854 | +#else | ||
3855 | { | ||
3856 | I2C_BOARD_INFO("ov5642", 0x3c), | ||
3857 | .platform_data = (void *)&camera_data, | ||
3858 | }, | ||
3859 | +#endif | ||
3860 | +}; | ||
3861 | + | ||
3862 | +static struct tsc2007_platform_data tsc2007_info = { | ||
3863 | + .model = 2004, | ||
3864 | + .x_plate_ohms = 500, | ||
3865 | }; | ||
3866 | |||
3867 | static struct i2c_board_info mxc_i2c2_board_info[] __initdata = { | ||
3868 | { | ||
3869 | I2C_BOARD_INFO("egalax_ts", 0x4), | ||
3870 | - .irq = gpio_to_irq(MX6Q_SABRELITE_CAP_TCH_INT1), | ||
3871 | + .irq = gpio_to_irq(MX6_SABRELITE_CAP_TCH_INT1), | ||
3872 | + }, | ||
3873 | + { | ||
3874 | + I2C_BOARD_INFO("tsc2004", 0x48), | ||
3875 | + .platform_data = &tsc2007_info, | ||
3876 | + .irq = gpio_to_irq(MX6_SABRELITE_DRGB_IRQGPIO), | ||
3877 | + }, | ||
3878 | +#if defined(CONFIG_TOUCHSCREEN_FT5X06) \ | ||
3879 | + || defined(CONFIG_TOUCHSCREEN_FT5X06_MODULE) | ||
3880 | + { | ||
3881 | + I2C_BOARD_INFO("ft5x06-ts", 0x38), | ||
3882 | + .irq = gpio_to_irq(MX6_SABRELITE_CAP_TCH_INT1), | ||
3883 | }, | ||
3884 | +#endif | ||
3885 | }; | ||
3886 | |||
3887 | -static void imx6q_sabrelite_usbotg_vbus(bool on) | ||
3888 | +static void imx6_sabrelite_usbotg_vbus(bool on) | ||
3889 | { | ||
3890 | if (on) | ||
3891 | - gpio_set_value(MX6Q_SABRELITE_USB_OTG_PWR, 1); | ||
3892 | + gpio_set_value(MX6_SABRELITE_USB_OTG_PWR, 1); | ||
3893 | else | ||
3894 | - gpio_set_value(MX6Q_SABRELITE_USB_OTG_PWR, 0); | ||
3895 | + gpio_set_value(MX6_SABRELITE_USB_OTG_PWR, 0); | ||
3896 | } | ||
3897 | |||
3898 | -static void __init imx6q_sabrelite_init_usb(void) | ||
3899 | +static void __init imx6_sabrelite_init_usb(void) | ||
3900 | { | ||
3901 | int ret = 0; | ||
3902 | |||
3903 | @@ -660,21 +526,21 @@ static void __init imx6q_sabrelite_init_usb(void) | ||
3904 | /* disable external charger detect, | ||
3905 | * or it will affect signal quality at dp . | ||
3906 | */ | ||
3907 | - ret = gpio_request(MX6Q_SABRELITE_USB_OTG_PWR, "usb-pwr"); | ||
3908 | + ret = gpio_request(MX6_SABRELITE_USB_OTG_PWR, "usb-pwr"); | ||
3909 | if (ret) { | ||
3910 | - pr_err("failed to get GPIO MX6Q_SABRELITE_USB_OTG_PWR: %d\n", | ||
3911 | + pr_err("failed to get GPIO MX6_SABRELITE_USB_OTG_PWR: %d\n", | ||
3912 | ret); | ||
3913 | return; | ||
3914 | } | ||
3915 | - gpio_direction_output(MX6Q_SABRELITE_USB_OTG_PWR, 0); | ||
3916 | + gpio_direction_output(MX6_SABRELITE_USB_OTG_PWR, 0); | ||
3917 | mxc_iomux_set_gpr_register(1, 13, 1, 1); | ||
3918 | |||
3919 | - mx6_set_otghost_vbus_func(imx6q_sabrelite_usbotg_vbus); | ||
3920 | + mx6_set_otghost_vbus_func(imx6_sabrelite_usbotg_vbus); | ||
3921 | mx6_usb_dr_init(); | ||
3922 | } | ||
3923 | |||
3924 | /* HW Initialization, if return 0, initialization is successful. */ | ||
3925 | -static int mx6q_sabrelite_sata_init(struct device *dev, void __iomem *addr) | ||
3926 | +static int mx6_sabrelite_sata_init(struct device *dev, void __iomem *addr) | ||
3927 | { | ||
3928 | u32 tmpdata; | ||
3929 | int ret = 0; | ||
3930 | @@ -734,39 +600,45 @@ put_sata_clk: | ||
3931 | return ret; | ||
3932 | } | ||
3933 | |||
3934 | -static void mx6q_sabrelite_sata_exit(struct device *dev) | ||
3935 | +static void mx6_sabrelite_sata_exit(struct device *dev) | ||
3936 | { | ||
3937 | clk_disable(sata_clk); | ||
3938 | clk_put(sata_clk); | ||
3939 | } | ||
3940 | |||
3941 | -static struct ahci_platform_data mx6q_sabrelite_sata_data = { | ||
3942 | - .init = mx6q_sabrelite_sata_init, | ||
3943 | - .exit = mx6q_sabrelite_sata_exit, | ||
3944 | +static struct ahci_platform_data mx6_sabrelite_sata_data = { | ||
3945 | + .init = mx6_sabrelite_sata_init, | ||
3946 | + .exit = mx6_sabrelite_sata_exit, | ||
3947 | }; | ||
3948 | |||
3949 | -static struct gpio mx6q_sabrelite_flexcan_gpios[] = { | ||
3950 | - { MX6Q_SABRELITE_CAN1_EN, GPIOF_OUT_INIT_LOW, "flexcan1-en" }, | ||
3951 | - { MX6Q_SABRELITE_CAN1_STBY, GPIOF_OUT_INIT_LOW, "flexcan1-stby" }, | ||
3952 | +static struct gpio mx6_sabrelite_flexcan_gpios[] = { | ||
3953 | + { MX6_SABRELITE_CAN1_ERR, GPIOF_DIR_IN, "flexcan1-err" }, | ||
3954 | + { MX6_SABRELITE_CAN1_EN, GPIOF_OUT_INIT_LOW, "flexcan1-en" }, | ||
3955 | + { MX6_SABRELITE_CAN1_STBY, GPIOF_OUT_INIT_LOW, "flexcan1-stby" }, | ||
3956 | }; | ||
3957 | |||
3958 | -static void mx6q_sabrelite_flexcan0_switch(int enable) | ||
3959 | +static void mx6_sabrelite_flexcan0_mc33902_switch(int enable) | ||
3960 | { | ||
3961 | - if (enable) { | ||
3962 | - gpio_set_value(MX6Q_SABRELITE_CAN1_EN, 1); | ||
3963 | - gpio_set_value(MX6Q_SABRELITE_CAN1_STBY, 1); | ||
3964 | - } else { | ||
3965 | - gpio_set_value(MX6Q_SABRELITE_CAN1_EN, 0); | ||
3966 | - gpio_set_value(MX6Q_SABRELITE_CAN1_STBY, 0); | ||
3967 | - } | ||
3968 | + gpio_set_value(MX6_SABRELITE_CAN1_EN, enable); | ||
3969 | + gpio_set_value(MX6_SABRELITE_CAN1_STBY, enable); | ||
3970 | +} | ||
3971 | + | ||
3972 | +static void mx6_sabrelite_flexcan0_tja1040_switch(int enable) | ||
3973 | +{ | ||
3974 | + gpio_set_value(MX6_SABRELITE_CAN1_STBY, enable ^ 1); | ||
3975 | } | ||
3976 | |||
3977 | static const struct flexcan_platform_data | ||
3978 | - mx6q_sabrelite_flexcan0_pdata __initconst = { | ||
3979 | - .transceiver_switch = mx6q_sabrelite_flexcan0_switch, | ||
3980 | + mx6_sabrelite_flexcan0_mc33902_pdata __initconst = { | ||
3981 | + .transceiver_switch = mx6_sabrelite_flexcan0_mc33902_switch, | ||
3982 | }; | ||
3983 | |||
3984 | -static struct viv_gpu_platform_data imx6q_gpu_pdata __initdata = { | ||
3985 | +static const struct flexcan_platform_data | ||
3986 | + mx6_sabrelite_flexcan0_tja1040_pdata __initconst = { | ||
3987 | + .transceiver_switch = mx6_sabrelite_flexcan0_tja1040_switch, | ||
3988 | +}; | ||
3989 | + | ||
3990 | +static struct viv_gpu_platform_data imx6_gpu_pdata __initdata = { | ||
3991 | .reserved_mem_size = SZ_128M, | ||
3992 | }; | ||
3993 | |||
3994 | @@ -834,14 +706,12 @@ static void hdmi_init(int ipu_id, int disp_id) | ||
3995 | |||
3996 | static void hdmi_enable_ddc_pin(void) | ||
3997 | { | ||
3998 | - mxc_iomux_v3_setup_multiple_pads(mx6q_sabrelite_hdmi_ddc_pads, | ||
3999 | - ARRAY_SIZE(mx6q_sabrelite_hdmi_ddc_pads)); | ||
4000 | + IOMUX_SETUP(sabrelite_hdmi_ddc_pads); | ||
4001 | } | ||
4002 | |||
4003 | static void hdmi_disable_ddc_pin(void) | ||
4004 | { | ||
4005 | - mxc_iomux_v3_setup_multiple_pads(mx6q_sabrelite_i2c2_pads, | ||
4006 | - ARRAY_SIZE(mx6q_sabrelite_i2c2_pads)); | ||
4007 | + IOMUX_SETUP(sabrelite_i2c2_pads); | ||
4008 | } | ||
4009 | |||
4010 | static struct fsl_mxc_hdmi_platform_data hdmi_data = { | ||
4011 | @@ -852,7 +722,7 @@ static struct fsl_mxc_hdmi_platform_data hdmi_data = { | ||
4012 | |||
4013 | static struct fsl_mxc_hdmi_core_platform_data hdmi_core_data = { | ||
4014 | .ipu_id = 0, | ||
4015 | - .disp_id = 0, | ||
4016 | + .disp_id = 1, | ||
4017 | }; | ||
4018 | |||
4019 | static struct fsl_mxc_lcd_platform_data lcdif_data = { | ||
4020 | @@ -904,7 +774,7 @@ static void sabrelite_suspend_exit(void) | ||
4021 | { | ||
4022 | /* resume restore */ | ||
4023 | } | ||
4024 | -static const struct pm_platform_data mx6q_sabrelite_pm_data __initconst = { | ||
4025 | +static const struct pm_platform_data mx6_sabrelite_pm_data __initconst = { | ||
4026 | .name = "imx_pm", | ||
4027 | .suspend_enter = sabrelite_suspend_enter, | ||
4028 | .suspend_exit = sabrelite_suspend_exit, | ||
4029 | @@ -922,12 +792,12 @@ static const struct pm_platform_data mx6q_sabrelite_pm_data __initconst = { | ||
4030 | } | ||
4031 | |||
4032 | static struct gpio_keys_button sabrelite_buttons[] = { | ||
4033 | - GPIO_BUTTON(MX6Q_SABRELITE_ONOFF_KEY, KEY_POWER, 1, "key-power", 1), | ||
4034 | - GPIO_BUTTON(MX6Q_SABRELITE_MENU_KEY, KEY_MENU, 1, "key-memu", 0), | ||
4035 | - GPIO_BUTTON(MX6Q_SABRELITE_HOME_KEY, KEY_HOME, 1, "key-home", 0), | ||
4036 | - GPIO_BUTTON(MX6Q_SABRELITE_BACK_KEY, KEY_BACK, 1, "key-back", 0), | ||
4037 | - GPIO_BUTTON(MX6Q_SABRELITE_VOL_UP_KEY, KEY_VOLUMEUP, 1, "volume-up", 0), | ||
4038 | - GPIO_BUTTON(MX6Q_SABRELITE_VOL_DOWN_KEY, KEY_VOLUMEDOWN, 1, "volume-down", 0), | ||
4039 | + GPIO_BUTTON(MX6_SABRELITE_ONOFF_KEY, KEY_POWER, 1, "key-power", 1), | ||
4040 | + GPIO_BUTTON(MX6_SABRELITE_MENU_KEY, KEY_MENU, 1, "key-memu", 0), | ||
4041 | + GPIO_BUTTON(MX6_SABRELITE_HOME_KEY, KEY_HOME, 1, "key-home", 0), | ||
4042 | + GPIO_BUTTON(MX6_SABRELITE_BACK_KEY, KEY_BACK, 1, "key-back", 0), | ||
4043 | + GPIO_BUTTON(MX6_SABRELITE_VOL_UP_KEY, KEY_VOLUMEUP, 1, "volume-up", 0), | ||
4044 | + GPIO_BUTTON(MX6_SABRELITE_VOL_DOWN_KEY, KEY_VOLUMEDOWN, 1, "volume-down", 0), | ||
4045 | }; | ||
4046 | |||
4047 | static struct gpio_keys_platform_data sabrelite_button_data = { | ||
4048 | @@ -952,6 +822,54 @@ static void __init sabrelite_add_device_buttons(void) | ||
4049 | static void __init sabrelite_add_device_buttons(void) {} | ||
4050 | #endif | ||
4051 | |||
4052 | +#ifdef CONFIG_WL12XX_PLATFORM_DATA | ||
4053 | +static void wl1271_set_power(bool enable) | ||
4054 | +{ | ||
4055 | + if (0 == enable) { | ||
4056 | + gpio_set_value(N6_WL1271_WL_EN, 0); /* momentarily disable */ | ||
4057 | + mdelay(2); | ||
4058 | + gpio_set_value(N6_WL1271_WL_EN, 1); | ||
4059 | + } | ||
4060 | +} | ||
4061 | + | ||
4062 | +struct wl12xx_platform_data n6q_wlan_data __initdata = { | ||
4063 | + .irq = gpio_to_irq(N6_WL1271_WL_IRQ), | ||
4064 | + .board_ref_clock = WL12XX_REFCLOCK_38, /* 38.4 MHz */ | ||
4065 | + .set_power = wl1271_set_power, | ||
4066 | +}; | ||
4067 | + | ||
4068 | +static struct regulator_consumer_supply n6q_vwl1271_consumers[] = { | ||
4069 | + REGULATOR_SUPPLY("vmmc", "sdhci-esdhc-imx.1"), | ||
4070 | +}; | ||
4071 | + | ||
4072 | +static struct regulator_init_data n6q_vwl1271_init = { | ||
4073 | + .constraints = { | ||
4074 | + .name = "VDD_1.8V", | ||
4075 | + .valid_ops_mask = REGULATOR_CHANGE_STATUS, | ||
4076 | + }, | ||
4077 | + .num_consumer_supplies = ARRAY_SIZE(n6q_vwl1271_consumers), | ||
4078 | + .consumer_supplies = n6q_vwl1271_consumers, | ||
4079 | +}; | ||
4080 | + | ||
4081 | +static struct fixed_voltage_config n6q_vwl1271_reg_config = { | ||
4082 | + .supply_name = "vwl1271", | ||
4083 | + .microvolts = 1800000, /* 1.80V */ | ||
4084 | + .gpio = N6_WL1271_WL_EN, | ||
4085 | + .startup_delay = 70000, /* 70ms */ | ||
4086 | + .enable_high = 1, | ||
4087 | + .enabled_at_boot = 0, | ||
4088 | + .init_data = &n6q_vwl1271_init, | ||
4089 | +}; | ||
4090 | + | ||
4091 | +static struct platform_device n6q_vwl1271_reg_devices = { | ||
4092 | + .name = "reg-fixed-voltage", | ||
4093 | + .id = 4, | ||
4094 | + .dev = { | ||
4095 | + .platform_data = &n6q_vwl1271_reg_config, | ||
4096 | + }, | ||
4097 | +}; | ||
4098 | +#endif | ||
4099 | + | ||
4100 | static struct regulator_consumer_supply sabrelite_vmmc_consumers[] = { | ||
4101 | REGULATOR_SUPPLY("vmmc", "sdhci-esdhc-imx.2"), | ||
4102 | REGULATOR_SUPPLY("vmmc", "sdhci-esdhc-imx.3"), | ||
4103 | @@ -1056,7 +974,7 @@ static struct platform_device sgtl5000_sabrelite_vddd_reg_devices = { | ||
4104 | |||
4105 | #endif /* CONFIG_SND_SOC_SGTL5000 */ | ||
4106 | |||
4107 | -static int imx6q_init_audio(void) | ||
4108 | +static int imx6_init_audio(void) | ||
4109 | { | ||
4110 | mxc_register_device(&mx6_sabrelite_audio_device, | ||
4111 | &mx6_sabrelite_audio_data); | ||
4112 | @@ -1069,6 +987,15 @@ static int imx6q_init_audio(void) | ||
4113 | return 0; | ||
4114 | } | ||
4115 | |||
4116 | +/* PWM0_PWMO: backlight control on DRGB connector */ | ||
4117 | +static struct platform_pwm_backlight_data mx6_sabrelite_pwm0_backlight_data = { | ||
4118 | + .pwm_id = 0, | ||
4119 | + .max_brightness = 255, | ||
4120 | + .dft_brightness = 255, | ||
4121 | + .pwm_period_ns = 1000000000/32768, | ||
4122 | +}; | ||
4123 | + | ||
4124 | +/* PWM3_PWMO: backlight control on LDB connector */ | ||
4125 | static struct platform_pwm_backlight_data mx6_sabrelite_pwm_backlight_data = { | ||
4126 | .pwm_id = 3, | ||
4127 | .max_brightness = 255, | ||
4128 | @@ -1115,19 +1042,37 @@ static struct mipi_csi2_platform_data mipi_csi2_pdata = { | ||
4129 | .pixel_clk = "emi_clk", | ||
4130 | }; | ||
4131 | |||
4132 | +static const struct imx_pcie_platform_data pcie_data __initconst = { | ||
4133 | + .pcie_pwr_en = -EINVAL, | ||
4134 | + .pcie_rst = -EINVAL, //MX6_SABRELITE_CAP_TCH_INT1, | ||
4135 | + .pcie_wake_up = -EINVAL, | ||
4136 | + .pcie_dis = -EINVAL, | ||
4137 | +}; | ||
4138 | + | ||
4139 | /*! | ||
4140 | * Board specific initialization. | ||
4141 | */ | ||
4142 | static void __init mx6_sabrelite_board_init(void) | ||
4143 | { | ||
4144 | - int i; | ||
4145 | + int i, j; | ||
4146 | int ret; | ||
4147 | struct clk *clko2; | ||
4148 | struct clk *new_parent; | ||
4149 | int rate; | ||
4150 | + int isn6 ; | ||
4151 | |||
4152 | - mxc_iomux_v3_setup_multiple_pads(mx6q_sabrelite_pads, | ||
4153 | - ARRAY_SIZE(mx6q_sabrelite_pads)); | ||
4154 | + IOMUX_SETUP(common_pads); | ||
4155 | + | ||
4156 | + isn6 = is_nitrogen6w(); | ||
4157 | + if (isn6) { | ||
4158 | + mx6_sabrelite_audio_data.ext_port = 3; | ||
4159 | + mx6_sabrelite_sd3_data.wp_gpio = -1 ; | ||
4160 | + IOMUX_SETUP(nitrogen6x_pads); | ||
4161 | + } else { | ||
4162 | + IOMUX_SETUP(sabrelite_pads); | ||
4163 | + } | ||
4164 | + printk(KERN_ERR "------------ Board type %s\n", | ||
4165 | + isn6 ? "Nitrogen6X/W" : "Sabre Lite"); | ||
4166 | |||
4167 | #ifdef CONFIG_FEC_1588 | ||
4168 | /* Set GPIO_16 input for IEEE-1588 ts_clk and RMII reference clock | ||
4169 | @@ -1141,13 +1086,26 @@ static void __init mx6_sabrelite_board_init(void) | ||
4170 | gp_reg_id = sabrelite_dvfscore_data.reg_id; | ||
4171 | soc_reg_id = sabrelite_dvfscore_data.soc_id; | ||
4172 | pu_reg_id = sabrelite_dvfscore_data.pu_id; | ||
4173 | - mx6q_sabrelite_init_uart(); | ||
4174 | + | ||
4175 | + imx6q_add_imx_uart(0, NULL); | ||
4176 | + imx6q_add_imx_uart(1, NULL); | ||
4177 | + if (isn6) | ||
4178 | + imx6q_add_imx_uart(2, &mx6_arm2_uart2_data); | ||
4179 | + | ||
4180 | + if (!cpu_is_mx6q()) { | ||
4181 | + ldb_data.ipu_id = 0; | ||
4182 | + ldb_data.sec_ipu_id = 0; | ||
4183 | + } | ||
4184 | imx6q_add_mxc_hdmi_core(&hdmi_core_data); | ||
4185 | |||
4186 | imx6q_add_ipuv3(0, &ipu_data[0]); | ||
4187 | - imx6q_add_ipuv3(1, &ipu_data[1]); | ||
4188 | - | ||
4189 | - for (i = 0; i < ARRAY_SIZE(sabrelite_fb_data); i++) | ||
4190 | + if (cpu_is_mx6q()) { | ||
4191 | + imx6q_add_ipuv3(1, &ipu_data[1]); | ||
4192 | + j = ARRAY_SIZE(sabrelite_fb_data); | ||
4193 | + } else { | ||
4194 | + j = (ARRAY_SIZE(sabrelite_fb_data) + 1) / 2; | ||
4195 | + } | ||
4196 | + for (i = 0; i < j; i++) | ||
4197 | imx6q_add_ipuv3fb(i, &sabrelite_fb_data[i]); | ||
4198 | |||
4199 | imx6q_add_vdoa(); | ||
4200 | @@ -1161,9 +1119,9 @@ static void __init mx6_sabrelite_board_init(void) | ||
4201 | |||
4202 | imx6q_add_imx_caam(); | ||
4203 | |||
4204 | - imx6q_add_imx_i2c(0, &mx6q_sabrelite_i2c_data); | ||
4205 | - imx6q_add_imx_i2c(1, &mx6q_sabrelite_i2c_data); | ||
4206 | - imx6q_add_imx_i2c(2, &mx6q_sabrelite_i2c_data); | ||
4207 | + imx6q_add_imx_i2c(0, &mx6_sabrelite_i2c_data); | ||
4208 | + imx6q_add_imx_i2c(1, &mx6_sabrelite_i2c_data); | ||
4209 | + imx6q_add_imx_i2c(2, &mx6_sabrelite_i2c_data); | ||
4210 | i2c_register_board_info(0, mxc_i2c0_board_info, | ||
4211 | ARRAY_SIZE(mxc_i2c0_board_info)); | ||
4212 | i2c_register_board_info(1, mxc_i2c1_board_info, | ||
4213 | @@ -1172,33 +1130,35 @@ static void __init mx6_sabrelite_board_init(void) | ||
4214 | ARRAY_SIZE(mxc_i2c2_board_info)); | ||
4215 | |||
4216 | /* SPI */ | ||
4217 | - imx6q_add_ecspi(0, &mx6q_sabrelite_spi_data); | ||
4218 | + imx6q_add_ecspi(0, &mx6_sabrelite_spi_data); | ||
4219 | spi_device_init(); | ||
4220 | |||
4221 | imx6q_add_mxc_hdmi(&hdmi_data); | ||
4222 | |||
4223 | - imx6q_add_anatop_thermal_imx(1, &mx6q_sabrelite_anatop_thermal_data); | ||
4224 | + imx6q_add_anatop_thermal_imx(1, &mx6_sabrelite_anatop_thermal_data); | ||
4225 | imx6_init_fec(fec_data); | ||
4226 | - imx6q_add_pm_imx(0, &mx6q_sabrelite_pm_data); | ||
4227 | - imx6q_add_sdhci_usdhc_imx(3, &mx6q_sabrelite_sd4_data); | ||
4228 | - imx6q_add_sdhci_usdhc_imx(2, &mx6q_sabrelite_sd3_data); | ||
4229 | - imx_add_viv_gpu(&imx6_gpu_data, &imx6q_gpu_pdata); | ||
4230 | - imx6q_sabrelite_init_usb(); | ||
4231 | - imx6q_add_ahci(0, &mx6q_sabrelite_sata_data); | ||
4232 | + imx6q_add_pm_imx(0, &mx6_sabrelite_pm_data); | ||
4233 | + imx6q_add_sdhci_usdhc_imx(2, &mx6_sabrelite_sd3_data); | ||
4234 | + imx6q_add_sdhci_usdhc_imx(3, &mx6_sabrelite_sd4_data); | ||
4235 | + imx_add_viv_gpu(&imx6_gpu_data, &imx6_gpu_pdata); | ||
4236 | + imx6_sabrelite_init_usb(); | ||
4237 | + if (cpu_is_mx6q()) | ||
4238 | + imx6q_add_ahci(0, &mx6_sabrelite_sata_data); | ||
4239 | imx6q_add_vpu(); | ||
4240 | - imx6q_init_audio(); | ||
4241 | + imx6_init_audio(); | ||
4242 | platform_device_register(&sabrelite_vmmc_reg_devices); | ||
4243 | imx_asrc_data.asrc_core_clk = clk_get(NULL, "asrc_clk"); | ||
4244 | imx_asrc_data.asrc_audio_clk = clk_get(NULL, "asrc_serial_clk"); | ||
4245 | imx6q_add_asrc(&imx_asrc_data); | ||
4246 | |||
4247 | /* release USB Hub reset */ | ||
4248 | - gpio_set_value(MX6Q_SABRELITE_USB_HUB_RESET, 1); | ||
4249 | + gpio_set_value(MX6_SABRELITE_USB_HUB_RESET, 1); | ||
4250 | |||
4251 | imx6q_add_mxc_pwm(0); | ||
4252 | imx6q_add_mxc_pwm(1); | ||
4253 | imx6q_add_mxc_pwm(2); | ||
4254 | imx6q_add_mxc_pwm(3); | ||
4255 | + imx6q_add_mxc_pwm_backlight(0, &mx6_sabrelite_pwm0_backlight_data); | ||
4256 | imx6q_add_mxc_pwm_backlight(3, &mx6_sabrelite_pwm_backlight_data); | ||
4257 | |||
4258 | imx6q_add_otp(); | ||
4259 | @@ -1214,12 +1174,23 @@ static void __init mx6_sabrelite_board_init(void) | ||
4260 | imx6q_add_hdmi_soc(); | ||
4261 | imx6q_add_hdmi_soc_dai(); | ||
4262 | |||
4263 | - ret = gpio_request_array(mx6q_sabrelite_flexcan_gpios, | ||
4264 | - ARRAY_SIZE(mx6q_sabrelite_flexcan_gpios)); | ||
4265 | - if (ret) | ||
4266 | + ret = gpio_request_array(mx6_sabrelite_flexcan_gpios, | ||
4267 | + ARRAY_SIZE(mx6_sabrelite_flexcan_gpios)); | ||
4268 | + if (ret) { | ||
4269 | pr_err("failed to request flexcan1-gpios: %d\n", ret); | ||
4270 | - else | ||
4271 | - imx6q_add_flexcan0(&mx6q_sabrelite_flexcan0_pdata); | ||
4272 | + } else { | ||
4273 | + int ret = gpio_get_value(MX6_SABRELITE_CAN1_ERR); | ||
4274 | + if (ret == 0) { | ||
4275 | + imx6q_add_flexcan0(&mx6_sabrelite_flexcan0_tja1040_pdata); | ||
4276 | + pr_info("Flexcan NXP tja1040\n"); | ||
4277 | + } else if (ret == 1) { | ||
4278 | + IOMUX_SETUP(sabrelite_mc33902_flexcan_pads); | ||
4279 | + imx6q_add_flexcan0(&mx6_sabrelite_flexcan0_mc33902_pdata); | ||
4280 | + pr_info("Flexcan Freescale mc33902\n"); | ||
4281 | + } else { | ||
4282 | + pr_info("Flexcan gpio_get_value CAN1_ERR failed\n"); | ||
4283 | + } | ||
4284 | + } | ||
4285 | |||
4286 | clko2 = clk_get(NULL, "clko2_clk"); | ||
4287 | if (IS_ERR(clko2)) | ||
4288 | @@ -1235,6 +1206,28 @@ static void __init mx6_sabrelite_board_init(void) | ||
4289 | clk_enable(clko2); | ||
4290 | imx6q_add_busfreq(); | ||
4291 | |||
4292 | +#ifdef CONFIG_WL12XX_PLATFORM_DATA | ||
4293 | + if (isn6) { | ||
4294 | + imx6q_add_sdhci_usdhc_imx(1, &mx6_sabrelite_sd2_data); | ||
4295 | + /* WL12xx WLAN Init */ | ||
4296 | + if (wl12xx_set_platform_data(&n6q_wlan_data)) | ||
4297 | + pr_err("error setting wl12xx data\n"); | ||
4298 | + platform_device_register(&n6q_vwl1271_reg_devices); | ||
4299 | + | ||
4300 | + gpio_set_value(N6_WL1271_WL_EN, 1); /* momentarily enable */ | ||
4301 | + gpio_set_value(N6_WL1271_BT_EN, 1); | ||
4302 | + mdelay(2); | ||
4303 | + gpio_set_value(N6_WL1271_WL_EN, 0); | ||
4304 | + gpio_set_value(N6_WL1271_BT_EN, 0); | ||
4305 | + | ||
4306 | + gpio_free(N6_WL1271_WL_EN); | ||
4307 | + gpio_free(N6_WL1271_BT_EN); | ||
4308 | + mdelay(1); | ||
4309 | + } | ||
4310 | +#endif | ||
4311 | + | ||
4312 | + imx6q_add_pcie(&pcie_data); | ||
4313 | + | ||
4314 | imx6q_add_perfmon(0); | ||
4315 | imx6q_add_perfmon(1); | ||
4316 | imx6q_add_perfmon(2); | ||
4317 | @@ -1258,16 +1251,16 @@ static struct sys_timer mx6_sabrelite_timer = { | ||
4318 | .init = mx6_sabrelite_timer_init, | ||
4319 | }; | ||
4320 | |||
4321 | -static void __init mx6q_sabrelite_reserve(void) | ||
4322 | +static void __init mx6_sabrelite_reserve(void) | ||
4323 | { | ||
4324 | #if defined(CONFIG_MXC_GPU_VIV) || defined(CONFIG_MXC_GPU_VIV_MODULE) | ||
4325 | phys_addr_t phys; | ||
4326 | |||
4327 | - if (imx6q_gpu_pdata.reserved_mem_size) { | ||
4328 | - phys = memblock_alloc_base(imx6q_gpu_pdata.reserved_mem_size, | ||
4329 | + if (imx6_gpu_pdata.reserved_mem_size) { | ||
4330 | + phys = memblock_alloc_base(imx6_gpu_pdata.reserved_mem_size, | ||
4331 | SZ_4K, SZ_1G); | ||
4332 | - memblock_remove(phys, imx6q_gpu_pdata.reserved_mem_size); | ||
4333 | - imx6q_gpu_pdata.reserved_mem_base = phys; | ||
4334 | + memblock_remove(phys, imx6_gpu_pdata.reserved_mem_size); | ||
4335 | + imx6_gpu_pdata.reserved_mem_base = phys; | ||
4336 | } | ||
4337 | #endif | ||
4338 | } | ||
4339 | @@ -1283,5 +1276,5 @@ MACHINE_START(MX6Q_SABRELITE, "Freescale i.MX 6Quad Sabre-Lite Board") | ||
4340 | .init_irq = mx6_init_irq, | ||
4341 | .init_machine = mx6_sabrelite_board_init, | ||
4342 | .timer = &mx6_sabrelite_timer, | ||
4343 | - .reserve = mx6q_sabrelite_reserve, | ||
4344 | + .reserve = mx6_sabrelite_reserve, | ||
4345 | MACHINE_END | ||
4346 | diff --git a/arch/arm/mach-mx6/pads-mx6_sabrelite.h b/arch/arm/mach-mx6/pads-mx6_sabrelite.h | ||
4347 | new file mode 100644 | ||
4348 | index 0000000..63a556f | ||
4349 | --- /dev/null | ||
4350 | +++ b/arch/arm/mach-mx6/pads-mx6_sabrelite.h | ||
4351 | @@ -0,0 +1,348 @@ | ||
4352 | +#undef MX6PAD | ||
4353 | +#undef MX6NAME | ||
4354 | + | ||
4355 | +#ifdef FOR_DL_SOLO | ||
4356 | +#define MX6PAD(a) MX6DL_PAD_##a | ||
4357 | +#define MX6NAME(a) mx6dl_solo_##a | ||
4358 | +#else | ||
4359 | +#define MX6PAD(a) MX6Q_PAD_##a | ||
4360 | +#define MX6NAME(a) mx6q_##a | ||
4361 | +#endif | ||
4362 | + | ||
4363 | +#define MX6Q_USDHC_PAD_CTRL_50MHZ MX6Q_USDHC_PAD_CTRL | ||
4364 | +#define MX6Q_PAD_SD3_CLK__USDHC3_CLK MX6Q_PAD_SD3_CLK__USDHC3_CLK_50MHZ | ||
4365 | +#define MX6Q_PAD_SD3_CMD__USDHC3_CMD MX6Q_PAD_SD3_CMD__USDHC3_CMD_50MHZ | ||
4366 | +#define MX6Q_PAD_SD3_DAT0__USDHC3_DAT0 MX6Q_PAD_SD3_DAT0__USDHC3_DAT0_50MHZ | ||
4367 | +#define MX6Q_PAD_SD3_DAT1__USDHC3_DAT1 MX6Q_PAD_SD3_DAT1__USDHC3_DAT1_50MHZ | ||
4368 | +#define MX6Q_PAD_SD3_DAT2__USDHC3_DAT2 MX6Q_PAD_SD3_DAT2__USDHC3_DAT2_50MHZ | ||
4369 | +#define MX6Q_PAD_SD3_DAT3__USDHC3_DAT3 MX6Q_PAD_SD3_DAT3__USDHC3_DAT3_50MHZ | ||
4370 | +#define MX6Q_PAD_SD4_CLK__USDHC4_CLK MX6Q_PAD_SD3_CLK__USDHC3_CLK_50MHZ | ||
4371 | +#define MX6Q_PAD_SD4_CMD__USDHC4_CMD MX6Q_PAD_SD3_CMD__USDHC3_CMD_50MHZ | ||
4372 | +#define MX6Q_PAD_SD4_DAT0__USDHC4_DAT0 MX6Q_PAD_SD3_DAT0__USDHC3_DAT0_50MHZ | ||
4373 | +#define MX6Q_PAD_SD4_DAT1__USDHC4_DAT1 MX6Q_PAD_SD3_DAT1__USDHC3_DAT1_50MHZ | ||
4374 | +#define MX6Q_PAD_SD4_DAT2__USDHC4_DAT2 MX6Q_PAD_SD3_DAT2__USDHC3_DAT2_50MHZ | ||
4375 | +#define MX6Q_PAD_SD4_DAT3__USDHC4_DAT3 MX6Q_PAD_SD3_DAT3__USDHC3_DAT3_50MHZ | ||
4376 | + | ||
4377 | +#define MX6DL_PAD_SD3_CLK__USDHC3_CLK MX6DL_PAD_SD3_CLK__USDHC3_CLK_50MHZ | ||
4378 | +#define MX6DL_PAD_SD3_CMD__USDHC3_CMD MX6DL_PAD_SD3_CMD__USDHC3_CMD_50MHZ | ||
4379 | +#define MX6DL_PAD_SD3_DAT0__USDHC3_DAT0 MX6DL_PAD_SD3_DAT0__USDHC3_DAT0_50MHZ | ||
4380 | +#define MX6DL_PAD_SD3_DAT1__USDHC3_DAT1 MX6DL_PAD_SD3_DAT1__USDHC3_DAT1_50MHZ | ||
4381 | +#define MX6DL_PAD_SD3_DAT2__USDHC3_DAT2 MX6DL_PAD_SD3_DAT2__USDHC3_DAT2_50MHZ | ||
4382 | +#define MX6DL_PAD_SD3_DAT3__USDHC3_DAT3 MX6DL_PAD_SD3_DAT3__USDHC3_DAT3_50MHZ | ||
4383 | +#define MX6DL_PAD_SD4_CLK__USDHC4_CLK MX6DL_PAD_SD3_CLK__USDHC3_CLK_50MHZ | ||
4384 | +#define MX6DL_PAD_SD4_CMD__USDHC4_CMD MX6DL_PAD_SD3_CMD__USDHC3_CMD_50MHZ | ||
4385 | +#define MX6DL_PAD_SD4_DAT0__USDHC4_DAT0 MX6DL_PAD_SD3_DAT0__USDHC3_DAT0_50MHZ | ||
4386 | +#define MX6DL_PAD_SD4_DAT1__USDHC4_DAT1 MX6DL_PAD_SD3_DAT1__USDHC3_DAT1_50MHZ | ||
4387 | +#define MX6DL_PAD_SD4_DAT2__USDHC4_DAT2 MX6DL_PAD_SD3_DAT2__USDHC3_DAT2_50MHZ | ||
4388 | +#define MX6DL_PAD_SD4_DAT3__USDHC4_DAT3 MX6DL_PAD_SD3_DAT3__USDHC3_DAT3_50MHZ | ||
4389 | + | ||
4390 | +#define NP(id, speed, pin) \ | ||
4391 | + NEW_PAD_CTRL(MX6PAD(SD##id##_##pin##__USDHC##id##_##pin), \ | ||
4392 | + MX6Q_USDHC_PAD_CTRL_##speed##MHZ) | ||
4393 | + | ||
4394 | +#define SD_PINS(id, speed) \ | ||
4395 | + NP(id, speed, CLK), \ | ||
4396 | + NP(id, speed, CMD), \ | ||
4397 | + NP(id, speed, DAT0), \ | ||
4398 | + NP(id, speed, DAT1), \ | ||
4399 | + NP(id, speed, DAT2), \ | ||
4400 | + NP(id, speed, DAT3) | ||
4401 | + | ||
4402 | +static iomux_v3_cfg_t MX6NAME(nitrogen6x_pads)[] = { | ||
4403 | + /* AUDMUX */ | ||
4404 | + MX6PAD(CSI0_DAT7__AUDMUX_AUD3_RXD), | ||
4405 | + MX6PAD(CSI0_DAT4__AUDMUX_AUD3_TXC), | ||
4406 | + MX6PAD(CSI0_DAT5__AUDMUX_AUD3_TXD), | ||
4407 | + MX6PAD(CSI0_DAT6__AUDMUX_AUD3_TXFS), | ||
4408 | + | ||
4409 | + NEW_PAD_CTRL(MX6PAD(NANDF_CS1__GPIO_6_14), N6_IRQ_PADCFG), /* wl1271 wl_irq */ | ||
4410 | + | ||
4411 | + /* USDHC2 */ | ||
4412 | + SD_PINS(2, 50), | ||
4413 | + MX6PAD(SD1_CLK__OSC32K_32K_OUT), /* wl1271 clock */ | ||
4414 | + | ||
4415 | + /* UART3 for wl1271 */ | ||
4416 | + MX6PAD(EIM_D24__UART3_TXD), | ||
4417 | + MX6PAD(EIM_D25__UART3_RXD), | ||
4418 | + MX6PAD(EIM_D23__UART3_CTS), | ||
4419 | + MX6PAD(EIM_D31__UART3_RTS), | ||
4420 | + 0 | ||
4421 | +}; | ||
4422 | + | ||
4423 | +static iomux_v3_cfg_t MX6NAME(sabrelite_pads)[] = { | ||
4424 | + /* AUDMUX */ | ||
4425 | + MX6PAD(SD2_DAT0__AUDMUX_AUD4_RXD), | ||
4426 | + MX6PAD(SD2_DAT3__AUDMUX_AUD4_TXC), | ||
4427 | + MX6PAD(SD2_DAT2__AUDMUX_AUD4_TXD), | ||
4428 | + MX6PAD(SD2_DAT1__AUDMUX_AUD4_TXFS), | ||
4429 | + 0 | ||
4430 | +}; | ||
4431 | + | ||
4432 | +static iomux_v3_cfg_t MX6NAME(common_pads)[] = { | ||
4433 | + /* CAN1 */ | ||
4434 | + MX6PAD(KEY_ROW2__CAN1_RXCAN), | ||
4435 | + MX6PAD(KEY_COL2__CAN1_TXCAN), | ||
4436 | + MX6PAD(GPIO_2__GPIO_1_2), /* STNDBY */ | ||
4437 | + MX6PAD(GPIO_7__GPIO_1_7), /* NERR */ | ||
4438 | + NEW_PAD_CTRL(MX6PAD(GPIO_7__GPIO_1_7), MX6_SABRELITE_CAN1_ERR_TEST_PADCFG), | ||
4439 | + MX6PAD(GPIO_4__GPIO_1_4), /* Enable */ | ||
4440 | + | ||
4441 | + /* CCM */ | ||
4442 | + MX6PAD(GPIO_0__CCM_CLKO), /* SGTL500 sys_mclk */ | ||
4443 | + MX6PAD(GPIO_3__CCM_CLKO2), /* J5 - Camera MCLK */ | ||
4444 | + | ||
4445 | + /* ECSPI1 */ | ||
4446 | + MX6PAD(EIM_D17__ECSPI1_MISO), | ||
4447 | + MX6PAD(EIM_D18__ECSPI1_MOSI), | ||
4448 | + MX6PAD(EIM_D16__ECSPI1_SCLK), | ||
4449 | + MX6PAD(EIM_D19__GPIO_3_19), /*SS1*/ | ||
4450 | + | ||
4451 | + /* ENET */ | ||
4452 | + MX6PAD(ENET_MDIO__ENET_MDIO), | ||
4453 | + MX6PAD(ENET_MDC__ENET_MDC), | ||
4454 | + MX6PAD(RGMII_TXC__ENET_RGMII_TXC), | ||
4455 | + MX6PAD(RGMII_TD0__ENET_RGMII_TD0), | ||
4456 | + MX6PAD(RGMII_TD1__ENET_RGMII_TD1), | ||
4457 | + MX6PAD(RGMII_TD2__ENET_RGMII_TD2), | ||
4458 | + MX6PAD(RGMII_TD3__ENET_RGMII_TD3), | ||
4459 | + MX6PAD(RGMII_TX_CTL__ENET_RGMII_TX_CTL), | ||
4460 | + MX6PAD(ENET_REF_CLK__ENET_TX_CLK), | ||
4461 | + MX6PAD(RGMII_RXC__ENET_RGMII_RXC), | ||
4462 | + MX6PAD(RGMII_RD0__ENET_RGMII_RD0), | ||
4463 | + MX6PAD(RGMII_RD1__ENET_RGMII_RD1), | ||
4464 | + MX6PAD(RGMII_RD2__ENET_RGMII_RD2), | ||
4465 | + MX6PAD(RGMII_RD3__ENET_RGMII_RD3), | ||
4466 | + MX6PAD(RGMII_RX_CTL__ENET_RGMII_RX_CTL), | ||
4467 | + MX6PAD(ENET_TX_EN__GPIO_1_28), /* Micrel RGMII Phy Interrupt */ | ||
4468 | + | ||
4469 | + /* GPIO1 */ | ||
4470 | + MX6PAD(ENET_RX_ER__GPIO_1_24), /* J9 - Microphone Detect */ | ||
4471 | + | ||
4472 | + /* GPIO2 */ | ||
4473 | + MX6PAD(NANDF_D1__GPIO_2_1), /* J14 - Menu Button */ | ||
4474 | + MX6PAD(NANDF_D2__GPIO_2_2), /* J14 - Back Button */ | ||
4475 | + MX6PAD(NANDF_D3__GPIO_2_3), /* J14 - Search Button */ | ||
4476 | + MX6PAD(NANDF_D4__GPIO_2_4), /* J14 - Home Button */ | ||
4477 | + MX6PAD(EIM_A22__GPIO_2_16), /* J12 - Boot Mode Select */ | ||
4478 | + MX6PAD(EIM_A21__GPIO_2_17), /* J12 - Boot Mode Select */ | ||
4479 | + MX6PAD(EIM_A20__GPIO_2_18), /* J12 - Boot Mode Select */ | ||
4480 | + MX6PAD(EIM_A19__GPIO_2_19), /* J12 - Boot Mode Select */ | ||
4481 | + MX6PAD(EIM_A18__GPIO_2_20), /* J12 - Boot Mode Select */ | ||
4482 | + MX6PAD(EIM_A17__GPIO_2_21), /* J12 - Boot Mode Select */ | ||
4483 | + MX6PAD(EIM_A16__GPIO_2_22), /* J12 - Boot Mode Select */ | ||
4484 | + MX6PAD(EIM_RW__GPIO_2_26), /* J12 - Boot Mode Select */ | ||
4485 | + MX6PAD(EIM_LBA__GPIO_2_27), /* J12 - Boot Mode Select */ | ||
4486 | + MX6PAD(EIM_EB0__GPIO_2_28), /* J12 - Boot Mode Select */ | ||
4487 | + MX6PAD(EIM_EB1__GPIO_2_29), /* J12 - Boot Mode Select */ | ||
4488 | + MX6PAD(EIM_EB3__GPIO_2_31), /* J12 - Boot Mode Select */ | ||
4489 | + | ||
4490 | + /* GPIO3 */ | ||
4491 | + MX6PAD(EIM_DA0__GPIO_3_0), /* J12 - Boot Mode Select */ | ||
4492 | + MX6PAD(EIM_DA1__GPIO_3_1), /* J12 - Boot Mode Select */ | ||
4493 | + MX6PAD(EIM_DA2__GPIO_3_2), /* J12 - Boot Mode Select */ | ||
4494 | + MX6PAD(EIM_DA3__GPIO_3_3), /* J12 - Boot Mode Select */ | ||
4495 | + MX6PAD(EIM_DA4__GPIO_3_4), /* J12 - Boot Mode Select */ | ||
4496 | + MX6PAD(EIM_DA5__GPIO_3_5), /* J12 - Boot Mode Select */ | ||
4497 | + MX6PAD(EIM_DA6__GPIO_3_6), /* J12 - Boot Mode Select */ | ||
4498 | + MX6PAD(EIM_DA7__GPIO_3_7), /* J12 - Boot Mode Select */ | ||
4499 | + MX6PAD(EIM_DA8__GPIO_3_8), /* J12 - Boot Mode Select */ | ||
4500 | + MX6PAD(EIM_DA9__GPIO_3_9), /* J12 - Boot Mode Select */ | ||
4501 | + MX6PAD(EIM_DA10__GPIO_3_10), /* J12 - Boot Mode Select */ | ||
4502 | + MX6PAD(EIM_DA11__GPIO_3_11), /* J12 - Boot Mode Select */ | ||
4503 | + MX6PAD(EIM_DA12__GPIO_3_12), /* J12 - Boot Mode Select */ | ||
4504 | + MX6PAD(EIM_DA13__GPIO_3_13), /* J12 - Boot Mode Select */ | ||
4505 | + MX6PAD(EIM_DA14__GPIO_3_14), /* J12 - Boot Mode Select */ | ||
4506 | + MX6PAD(EIM_DA15__GPIO_3_15), /* J12 - Boot Mode Select */ | ||
4507 | + | ||
4508 | + /* GPIO4 */ | ||
4509 | + MX6PAD(GPIO_19__GPIO_4_5), /* J14 - Volume Down */ | ||
4510 | + | ||
4511 | + /* GPIO5 */ | ||
4512 | + MX6PAD(EIM_WAIT__GPIO_5_0), /* J12 - Boot Mode Select */ | ||
4513 | + MX6PAD(EIM_A24__GPIO_5_4), /* J12 - Boot Mode Select */ | ||
4514 | + | ||
4515 | + /* GPIO6 */ | ||
4516 | + MX6PAD(EIM_A23__GPIO_6_6), /* J12 - Boot Mode Select */ | ||
4517 | + | ||
4518 | + /* NANDF_CS1/2/3 are unused for sabrelite */ | ||
4519 | + NEW_PAD_CTRL(MX6PAD(NANDF_CS1__GPIO_6_14), N6_IRQ_TEST_PADCFG), /* wl1271 wl_irq */ | ||
4520 | + NEW_PAD_CTRL(MX6PAD(NANDF_CS2__GPIO_6_15), N6_EN_PADCFG), /* wl1271 wl_en */ | ||
4521 | + NEW_PAD_CTRL(MX6PAD(NANDF_CS3__GPIO_6_16), N6_EN_PADCFG), /* wl1271 bt_en */ | ||
4522 | + | ||
4523 | + /* GPIO7 */ | ||
4524 | + MX6PAD(GPIO_17__GPIO_7_12), /* USB Hub Reset */ | ||
4525 | + MX6PAD(GPIO_18__GPIO_7_13), /* J14 - Volume Up */ | ||
4526 | + | ||
4527 | + /* I2C1, SGTL5000 */ | ||
4528 | + MX6PAD(EIM_D21__I2C1_SCL), /* GPIO3[21] */ | ||
4529 | + MX6PAD(EIM_D28__I2C1_SDA), /* GPIO3[28] */ | ||
4530 | + | ||
4531 | + /* I2C2 Camera, MIPI */ | ||
4532 | + MX6PAD(KEY_COL3__I2C2_SCL), /* GPIO4[12] */ | ||
4533 | + MX6PAD(KEY_ROW3__I2C2_SDA), /* GPIO4[13] */ | ||
4534 | + | ||
4535 | + /* I2C3 */ | ||
4536 | + MX6PAD(GPIO_5__I2C3_SCL), /* GPIO1[5] - J7 - Display card */ | ||
4537 | +#ifdef CONFIG_FEC_1588 | ||
4538 | + MX6PAD(GPIO_16__ENET_ANATOP_ETHERNET_REF_OUT), | ||
4539 | +#else | ||
4540 | + MX6PAD(GPIO_16__I2C3_SDA), /* GPIO7[11] - J15 - RGB connector */ | ||
4541 | +#endif | ||
4542 | + | ||
4543 | + /* DISPLAY */ | ||
4544 | + MX6PAD(DI0_DISP_CLK__IPU1_DI0_DISP_CLK), | ||
4545 | + MX6PAD(DI0_PIN15__IPU1_DI0_PIN15), /* DE */ | ||
4546 | + MX6PAD(DI0_PIN2__IPU1_DI0_PIN2), /* HSync */ | ||
4547 | + MX6PAD(DI0_PIN3__IPU1_DI0_PIN3), /* VSync */ | ||
4548 | + NEW_PAD_CTRL(MX6PAD(DI0_PIN4__GPIO_4_20), | ||
4549 | + WEAK_PULLUP), /* I2C Touch IRQ */ | ||
4550 | + MX6PAD(DISP0_DAT0__IPU1_DISP0_DAT_0), | ||
4551 | + MX6PAD(DISP0_DAT1__IPU1_DISP0_DAT_1), | ||
4552 | + MX6PAD(DISP0_DAT2__IPU1_DISP0_DAT_2), | ||
4553 | + MX6PAD(DISP0_DAT3__IPU1_DISP0_DAT_3), | ||
4554 | + MX6PAD(DISP0_DAT4__IPU1_DISP0_DAT_4), | ||
4555 | + MX6PAD(DISP0_DAT5__IPU1_DISP0_DAT_5), | ||
4556 | + MX6PAD(DISP0_DAT6__IPU1_DISP0_DAT_6), | ||
4557 | + MX6PAD(DISP0_DAT7__IPU1_DISP0_DAT_7), | ||
4558 | + MX6PAD(DISP0_DAT8__IPU1_DISP0_DAT_8), | ||
4559 | + MX6PAD(DISP0_DAT9__IPU1_DISP0_DAT_9), | ||
4560 | + MX6PAD(DISP0_DAT10__IPU1_DISP0_DAT_10), | ||
4561 | + MX6PAD(DISP0_DAT11__IPU1_DISP0_DAT_11), | ||
4562 | + MX6PAD(DISP0_DAT12__IPU1_DISP0_DAT_12), | ||
4563 | + MX6PAD(DISP0_DAT13__IPU1_DISP0_DAT_13), | ||
4564 | + MX6PAD(DISP0_DAT14__IPU1_DISP0_DAT_14), | ||
4565 | + MX6PAD(DISP0_DAT15__IPU1_DISP0_DAT_15), | ||
4566 | + MX6PAD(DISP0_DAT16__IPU1_DISP0_DAT_16), | ||
4567 | + MX6PAD(DISP0_DAT17__IPU1_DISP0_DAT_17), | ||
4568 | + MX6PAD(DISP0_DAT18__IPU1_DISP0_DAT_18), | ||
4569 | + MX6PAD(DISP0_DAT19__IPU1_DISP0_DAT_19), | ||
4570 | + MX6PAD(DISP0_DAT20__IPU1_DISP0_DAT_20), | ||
4571 | + MX6PAD(DISP0_DAT21__IPU1_DISP0_DAT_21), | ||
4572 | + MX6PAD(DISP0_DAT22__IPU1_DISP0_DAT_22), | ||
4573 | + MX6PAD(DISP0_DAT23__IPU1_DISP0_DAT_23), | ||
4574 | + MX6PAD(GPIO_7__GPIO_1_7), /* J7 - Display Connector GP */ | ||
4575 | + MX6PAD(GPIO_9__GPIO_1_9), /* J7 - Display Connector GP */ | ||
4576 | + MX6PAD(NANDF_D0__GPIO_2_0), /* J6 - LVDS Display contrast */ | ||
4577 | + | ||
4578 | + | ||
4579 | + /* PWM1 */ | ||
4580 | + MX6PAD(SD1_DAT3__PWM1_PWMO), /* GPIO1[21] */ | ||
4581 | + | ||
4582 | + /* PWM2 */ | ||
4583 | + MX6PAD(SD1_DAT2__PWM2_PWMO), /* GPIO1[19] */ | ||
4584 | + | ||
4585 | + /* PWM3 */ | ||
4586 | + MX6PAD(SD1_DAT1__PWM3_PWMO), /* GPIO1[17] */ | ||
4587 | + | ||
4588 | + /* PWM4 */ | ||
4589 | + MX6PAD(SD1_CMD__PWM4_PWMO), /* GPIO1[18] */ | ||
4590 | + | ||
4591 | + /* UART1 */ | ||
4592 | + MX6PAD(SD3_DAT7__UART1_TXD), | ||
4593 | + MX6PAD(SD3_DAT6__UART1_RXD), | ||
4594 | + | ||
4595 | + /* UART2 for debug */ | ||
4596 | + MX6PAD(EIM_D26__UART2_TXD), | ||
4597 | + MX6PAD(EIM_D27__UART2_RXD), | ||
4598 | + | ||
4599 | + /* USBOTG ID pin */ | ||
4600 | + MX6PAD(GPIO_1__USBOTG_ID), | ||
4601 | + | ||
4602 | + /* USB OC pin */ | ||
4603 | + MX6PAD(KEY_COL4__USBOH3_USBOTG_OC), | ||
4604 | + MX6PAD(EIM_D30__USBOH3_USBH1_OC), | ||
4605 | + | ||
4606 | + /* USDHC3 */ | ||
4607 | + SD_PINS(3, 50), | ||
4608 | + MX6PAD(SD3_DAT5__GPIO_7_0), /* J18 - SD3_CD */ | ||
4609 | + NEW_PAD_CTRL(MX6PAD(SD3_DAT4__GPIO_7_1), MX6_SABRELITE_SD3_WP_PADCFG), | ||
4610 | + | ||
4611 | + /* USDHC4 */ | ||
4612 | + SD_PINS(4, 50), | ||
4613 | + MX6PAD(NANDF_D6__GPIO_2_6), /* J20 - SD4_CD */ | ||
4614 | + MX6PAD(NANDF_D7__GPIO_2_7), /* SD4_WP */ | ||
4615 | + 0 | ||
4616 | +}; | ||
4617 | + | ||
4618 | +#if defined(CONFIG_MXC_CAMERA_OV5640_MIPI) || defined(CONFIG_MXC_CAMERA_OV5640_MIPI_MODULE) | ||
4619 | +static iomux_v3_cfg_t MX6NAME(sabrelite_mipi_pads)[] = { | ||
4620 | + MX6PAD(NANDF_D5__GPIO_2_5), /* Camera Reset, Nitrogen6x */ | ||
4621 | + MX6PAD(NANDF_CS0__GPIO_6_11), /* Camera Reset, SOM jumpered */ | ||
4622 | + MX6PAD(GPIO_6__GPIO_1_6), /* Camera GP */ | ||
4623 | + 0 | ||
4624 | +}; | ||
4625 | +#else | ||
4626 | +static iomux_v3_cfg_t MX6NAME(sabrelite_csi0_sensor_pads)[] = { | ||
4627 | + /* IPU1 Camera */ | ||
4628 | + MX6PAD(CSI0_DAT8__IPU1_CSI0_D_8), | ||
4629 | + MX6PAD(CSI0_DAT9__IPU1_CSI0_D_9), | ||
4630 | + MX6PAD(CSI0_DAT10__IPU1_CSI0_D_10), | ||
4631 | + MX6PAD(CSI0_DAT11__IPU1_CSI0_D_11), | ||
4632 | + MX6PAD(CSI0_DAT12__IPU1_CSI0_D_12), | ||
4633 | + MX6PAD(CSI0_DAT13__IPU1_CSI0_D_13), | ||
4634 | + MX6PAD(CSI0_DAT14__IPU1_CSI0_D_14), | ||
4635 | + MX6PAD(CSI0_DAT15__IPU1_CSI0_D_15), | ||
4636 | + MX6PAD(CSI0_DAT16__IPU1_CSI0_D_16), | ||
4637 | + MX6PAD(CSI0_DAT17__IPU1_CSI0_D_17), | ||
4638 | + MX6PAD(CSI0_DAT18__IPU1_CSI0_D_18), | ||
4639 | + MX6PAD(CSI0_DAT19__IPU1_CSI0_D_19), | ||
4640 | + MX6PAD(CSI0_DATA_EN__IPU1_CSI0_DATA_EN), | ||
4641 | + MX6PAD(CSI0_MCLK__IPU1_CSI0_HSYNC), | ||
4642 | + MX6PAD(CSI0_PIXCLK__IPU1_CSI0_PIXCLK), | ||
4643 | + MX6PAD(CSI0_VSYNC__IPU1_CSI0_VSYNC), | ||
4644 | + MX6PAD(GPIO_6__GPIO_1_6), /* J5 - Camera GP */ | ||
4645 | + MX6PAD(GPIO_8__GPIO_1_8), /* J5 - Camera Reset */ | ||
4646 | + MX6PAD(NANDF_CS0__GPIO_6_11), /* J5 - Camera Reset */ | ||
4647 | + MX6PAD(SD1_DAT0__GPIO_1_16), /* J5 - Camera GP */ | ||
4648 | + MX6PAD(NANDF_D5__GPIO_2_5), /* J16 - MIPI GP */ | ||
4649 | + MX6PAD(NANDF_WP_B__GPIO_6_9), /* J16 - MIPI GP */ | ||
4650 | + 0 | ||
4651 | +}; | ||
4652 | +#endif | ||
4653 | + | ||
4654 | +static iomux_v3_cfg_t MX6NAME(sabrelite_hdmi_ddc_pads)[] = { | ||
4655 | + MX6PAD(KEY_COL3__HDMI_TX_DDC_SCL), /* HDMI DDC SCL */ | ||
4656 | + MX6PAD(KEY_ROW3__HDMI_TX_DDC_SDA), /* HDMI DDC SDA */ | ||
4657 | + 0 | ||
4658 | +}; | ||
4659 | + | ||
4660 | +static iomux_v3_cfg_t MX6NAME(sabrelite_i2c2_pads)[] = { | ||
4661 | + MX6PAD(KEY_COL3__I2C2_SCL), /* I2C2 SCL */ | ||
4662 | + MX6PAD(KEY_ROW3__I2C2_SDA), /* I2C2 SDA */ | ||
4663 | + 0 | ||
4664 | +}; | ||
4665 | + | ||
4666 | +static iomux_v3_cfg_t MX6NAME(sabrelite_mc33902_flexcan_pads)[] = { | ||
4667 | + NEW_PAD_CTRL(MX6PAD(GPIO_7__GPIO_1_7), MX6_SABRELITE_CAN1_ERR_PADCFG), | ||
4668 | + 0 | ||
4669 | +}; | ||
4670 | + | ||
4671 | +#define MX6_USDHC_PAD_SETTING(id, speed) \ | ||
4672 | + MX6NAME(sd##id##_##speed##mhz)[] = { SD_PINS(id, speed), 0 } | ||
4673 | + | ||
4674 | +static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(2, 50); | ||
4675 | +static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(2, 100); | ||
4676 | +static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(2, 200); | ||
4677 | +static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(3, 50); | ||
4678 | +static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(3, 100); | ||
4679 | +static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(3, 200); | ||
4680 | +static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(4, 50); | ||
4681 | +static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(4, 100); | ||
4682 | +static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(4, 200); | ||
4683 | + | ||
4684 | +#define _50MHZ 0 | ||
4685 | +#define _100MHZ 1 | ||
4686 | +#define _200MHZ 2 | ||
4687 | +#define SD_SPEED_CNT 3 | ||
4688 | +static iomux_v3_cfg_t * MX6NAME(sd_pads)[] = | ||
4689 | +{ | ||
4690 | + MX6NAME(sd2_50mhz), | ||
4691 | + MX6NAME(sd2_100mhz), | ||
4692 | + MX6NAME(sd2_200mhz), | ||
4693 | + MX6NAME(sd3_50mhz), | ||
4694 | + MX6NAME(sd3_100mhz), | ||
4695 | + MX6NAME(sd3_200mhz), | ||
4696 | + MX6NAME(sd4_50mhz), | ||
4697 | + MX6NAME(sd4_100mhz), | ||
4698 | + MX6NAME(sd4_200mhz), | ||
4699 | +}; | ||
4700 | diff --git a/arch/arm/plat-mxc/Kconfig b/arch/arm/plat-mxc/Kconfig | ||
4701 | old mode 100755 | ||
4702 | new mode 100644 | ||
4703 | diff --git a/arch/arm/plat-mxc/Makefile b/arch/arm/plat-mxc/Makefile | ||
4704 | old mode 100755 | ||
4705 | new mode 100644 | ||
4706 | diff --git a/arch/arm/plat-mxc/clock.c b/arch/arm/plat-mxc/clock.c | ||
4707 | old mode 100755 | ||
4708 | new mode 100644 | ||
4709 | diff --git a/arch/arm/plat-mxc/cpu.c b/arch/arm/plat-mxc/cpu.c | ||
4710 | old mode 100755 | ||
4711 | new mode 100644 | ||
4712 | diff --git a/arch/arm/plat-mxc/cpufreq.c b/arch/arm/plat-mxc/cpufreq.c | ||
4713 | old mode 100755 | ||
4714 | new mode 100644 | ||
4715 | diff --git a/arch/arm/plat-mxc/devices/Kconfig b/arch/arm/plat-mxc/devices/Kconfig | ||
4716 | old mode 100755 | ||
4717 | new mode 100644 | ||
4718 | diff --git a/arch/arm/plat-mxc/devices/Makefile b/arch/arm/plat-mxc/devices/Makefile | ||
4719 | old mode 100755 | ||
4720 | new mode 100644 | ||
4721 | diff --git a/arch/arm/plat-mxc/devices/platform-ahci-imx.c b/arch/arm/plat-mxc/devices/platform-ahci-imx.c | ||
4722 | old mode 100755 | ||
4723 | new mode 100644 | ||
4724 | diff --git a/arch/arm/plat-mxc/devices/platform-imx-dcp.c b/arch/arm/plat-mxc/devices/platform-imx-dcp.c | ||
4725 | old mode 100755 | ||
4726 | new mode 100644 | ||
4727 | diff --git a/arch/arm/plat-mxc/devices/platform-imx-dma.c b/arch/arm/plat-mxc/devices/platform-imx-dma.c | ||
4728 | old mode 100755 | ||
4729 | new mode 100644 | ||
4730 | diff --git a/arch/arm/plat-mxc/devices/platform-imx-i2c.c b/arch/arm/plat-mxc/devices/platform-imx-i2c.c | ||
4731 | old mode 100755 | ||
4732 | new mode 100644 | ||
4733 | diff --git a/arch/arm/plat-mxc/devices/platform-imx-iim.c b/arch/arm/plat-mxc/devices/platform-imx-iim.c | ||
4734 | old mode 100755 | ||
4735 | new mode 100644 | ||
4736 | diff --git a/arch/arm/plat-mxc/devices/platform-imx-ocotp.c b/arch/arm/plat-mxc/devices/platform-imx-ocotp.c | ||
4737 | old mode 100755 | ||
4738 | new mode 100644 | ||
4739 | diff --git a/arch/arm/plat-mxc/devices/platform-imx-rngb.c b/arch/arm/plat-mxc/devices/platform-imx-rngb.c | ||
4740 | old mode 100755 | ||
4741 | new mode 100644 | ||
4742 | diff --git a/arch/arm/plat-mxc/devices/platform-imx-ssi.c b/arch/arm/plat-mxc/devices/platform-imx-ssi.c | ||
4743 | old mode 100755 | ||
4744 | new mode 100644 | ||
4745 | diff --git a/arch/arm/plat-mxc/devices/platform-imx_dvfs.c b/arch/arm/plat-mxc/devices/platform-imx_dvfs.c | ||
4746 | old mode 100755 | ||
4747 | new mode 100644 | ||
4748 | diff --git a/arch/arm/plat-mxc/devices/platform-imx_ipuv3.c b/arch/arm/plat-mxc/devices/platform-imx_ipuv3.c | ||
4749 | old mode 100755 | ||
4750 | new mode 100644 | ||
4751 | diff --git a/arch/arm/plat-mxc/devices/platform-imx_srtc.c b/arch/arm/plat-mxc/devices/platform-imx_srtc.c | ||
4752 | old mode 100755 | ||
4753 | new mode 100644 | ||
4754 | diff --git a/arch/arm/plat-mxc/devices/platform-imx_tve.c b/arch/arm/plat-mxc/devices/platform-imx_tve.c | ||
4755 | old mode 100755 | ||
4756 | new mode 100644 | ||
4757 | diff --git a/arch/arm/plat-mxc/devices/platform-imx_vpu.c b/arch/arm/plat-mxc/devices/platform-imx_vpu.c | ||
4758 | old mode 100755 | ||
4759 | new mode 100644 | ||
4760 | diff --git a/arch/arm/plat-mxc/devices/platform-mxc_gpu.c b/arch/arm/plat-mxc/devices/platform-mxc_gpu.c | ||
4761 | old mode 100755 | ||
4762 | new mode 100644 | ||
4763 | diff --git a/arch/arm/plat-mxc/devices/platform-mxc_pwm.c b/arch/arm/plat-mxc/devices/platform-mxc_pwm.c | ||
4764 | old mode 100755 | ||
4765 | new mode 100644 | ||
4766 | diff --git a/arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c b/arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c | ||
4767 | old mode 100755 | ||
4768 | new mode 100644 | ||
4769 | diff --git a/arch/arm/plat-mxc/dvfs_core.c b/arch/arm/plat-mxc/dvfs_core.c | ||
4770 | old mode 100755 | ||
4771 | new mode 100644 | ||
4772 | diff --git a/arch/arm/plat-mxc/dvfs_per.c b/arch/arm/plat-mxc/dvfs_per.c | ||
4773 | old mode 100755 | ||
4774 | new mode 100644 | ||
4775 | diff --git a/arch/arm/plat-mxc/gpio.c b/arch/arm/plat-mxc/gpio.c | ||
4776 | old mode 100755 | ||
4777 | new mode 100644 | ||
4778 | diff --git a/arch/arm/plat-mxc/include/mach/ahci_sata.h b/arch/arm/plat-mxc/include/mach/ahci_sata.h | ||
4779 | old mode 100755 | ||
4780 | new mode 100644 | ||
4781 | diff --git a/arch/arm/plat-mxc/include/mach/arc_otg.h b/arch/arm/plat-mxc/include/mach/arc_otg.h | ||
4782 | old mode 100755 | ||
4783 | new mode 100644 | ||
4784 | diff --git a/arch/arm/plat-mxc/include/mach/clock.h b/arch/arm/plat-mxc/include/mach/clock.h | ||
4785 | old mode 100755 | ||
4786 | new mode 100644 | ||
4787 | diff --git a/arch/arm/plat-mxc/include/mach/common.h b/arch/arm/plat-mxc/include/mach/common.h | ||
4788 | old mode 100755 | ||
4789 | new mode 100644 | ||
4790 | diff --git a/arch/arm/plat-mxc/include/mach/devices-common.h b/arch/arm/plat-mxc/include/mach/devices-common.h | ||
4791 | old mode 100755 | ||
4792 | new mode 100644 | ||
4793 | diff --git a/arch/arm/plat-mxc/include/mach/dvfs_dptc_struct.h b/arch/arm/plat-mxc/include/mach/dvfs_dptc_struct.h | ||
4794 | old mode 100755 | ||
4795 | new mode 100644 | ||
4796 | diff --git a/arch/arm/plat-mxc/include/mach/esdhc.h b/arch/arm/plat-mxc/include/mach/esdhc.h | ||
4797 | index bb15db1..294e4cd 100644 | ||
4798 | --- a/arch/arm/plat-mxc/include/mach/esdhc.h | ||
4799 | +++ b/arch/arm/plat-mxc/include/mach/esdhc.h | ||
4800 | @@ -34,6 +34,7 @@ struct esdhc_platform_data { | ||
4801 | unsigned int support_18v; | ||
4802 | unsigned int support_8bit; | ||
4803 | unsigned int keep_power_at_suspend; | ||
4804 | + unsigned int caps; | ||
4805 | unsigned int delay_line; | ||
4806 | int (*platform_pad_change)(unsigned int index, int clock); | ||
4807 | }; | ||
4808 | diff --git a/arch/arm/plat-mxc/include/mach/fsl_usb.h b/arch/arm/plat-mxc/include/mach/fsl_usb.h | ||
4809 | old mode 100755 | ||
4810 | new mode 100644 | ||
4811 | diff --git a/arch/arm/plat-mxc/include/mach/fsl_usb_gadget.h b/arch/arm/plat-mxc/include/mach/fsl_usb_gadget.h | ||
4812 | old mode 100755 | ||
4813 | new mode 100644 | ||
4814 | diff --git a/arch/arm/plat-mxc/include/mach/hardware.h b/arch/arm/plat-mxc/include/mach/hardware.h | ||
4815 | old mode 100755 | ||
4816 | new mode 100644 | ||
4817 | diff --git a/arch/arm/plat-mxc/include/mach/imx_rfkill.h b/arch/arm/plat-mxc/include/mach/imx_rfkill.h | ||
4818 | old mode 100755 | ||
4819 | new mode 100644 | ||
4820 | diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx53.h b/arch/arm/plat-mxc/include/mach/iomux-mx53.h | ||
4821 | old mode 100755 | ||
4822 | new mode 100644 | ||
4823 | diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx6q.h b/arch/arm/plat-mxc/include/mach/iomux-mx6q.h | ||
4824 | index 9226af1..83f2881 100644 | ||
4825 | --- a/arch/arm/plat-mxc/include/mach/iomux-mx6q.h | ||
4826 | +++ b/arch/arm/plat-mxc/include/mach/iomux-mx6q.h | ||
4827 | @@ -2909,6 +2909,24 @@ | ||
4828 | #define _MX6Q_PAD_TEST_MODE__TCU_TEST_MODE \ | ||
4829 | IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x0000, 0, 0) | ||
4830 | |||
4831 | +#define _MX6Q_PAD_SD2_CMD__USDHC3_CMD \ | ||
4832 | + IOMUX_PAD(0x06A0, 0x02B8, 0 | IOMUX_CONFIG_SION, 0x0000, 0, 0) | ||
4833 | + | ||
4834 | +#define _MX6Q_PAD_SD2_CLK__USDHC3_CLK \ | ||
4835 | + IOMUX_PAD(0x06A4, 0x02BC, 0, 0x0000, 0, 0) | ||
4836 | + | ||
4837 | +#define _MX6Q_PAD_SD2_DAT0__USDHC3_DAT0 \ | ||
4838 | + IOMUX_PAD(0x06A8, 0x02C0, 0, 0x0000, 0, 0) | ||
4839 | + | ||
4840 | +#define _MX6Q_PAD_SD2_DAT1__USDHC3_DAT1 \ | ||
4841 | + IOMUX_PAD(0x06AC, 0x02C4, 0, 0x0000, 0, 0) | ||
4842 | + | ||
4843 | +#define _MX6Q_PAD_SD2_DAT2__USDHC3_DAT2 \ | ||
4844 | + IOMUX_PAD(0x06B0, 0x02C8, 0, 0x0000, 0, 0) | ||
4845 | + | ||
4846 | +#define _MX6Q_PAD_SD2_DAT3__USDHC3_DAT3 \ | ||
4847 | + IOMUX_PAD(0x06B4, 0x02CC, 0, 0x0000, 0, 0) | ||
4848 | + | ||
4849 | #define _MX6Q_PAD_SD3_DAT7__USDHC3_DAT7 \ | ||
4850 | IOMUX_PAD(0x0690, 0x02A8, 0, 0x0000, 0, 0) | ||
4851 | #define _MX6Q_PAD_SD3_DAT7__UART1_TXD \ | ||
4852 | @@ -6517,6 +6535,48 @@ | ||
4853 | #define MX6Q_PAD_TEST_MODE__TCU_TEST_MODE \ | ||
4854 | (_MX6Q_PAD_TEST_MODE__TCU_TEST_MODE | MUX_PAD_CTRL(NO_PAD_CTRL)) | ||
4855 | |||
4856 | +#define MX6Q_PAD_SD2_CMD__USDHC2_CMD_50MHZ \ | ||
4857 | + (_MX6Q_PAD_SD2_CMD__USDHC2_CMD | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL)) | ||
4858 | +#define MX6Q_PAD_SD2_CMD__USDHC2_CMD_100MHZ \ | ||
4859 | + (_MX6Q_PAD_SD2_CMD__USDHC2_CMD | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_100MHZ)) | ||
4860 | +#define MX6Q_PAD_SD2_CMD__USDHC2_CMD_200MHZ \ | ||
4861 | + (_MX6Q_PAD_SD2_CMD__USDHC2_CMD | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_200MHZ)) | ||
4862 | + | ||
4863 | +#define MX6Q_PAD_SD2_CLK__USDHC2_CLK_50MHZ \ | ||
4864 | + (_MX6Q_PAD_SD2_CLK__USDHC2_CLK | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL)) | ||
4865 | +#define MX6Q_PAD_SD2_CLK__USDHC2_CLK_100MHZ \ | ||
4866 | + (_MX6Q_PAD_SD2_CLK__USDHC2_CLK | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_100MHZ)) | ||
4867 | +#define MX6Q_PAD_SD2_CLK__USDHC2_CLK_200MHZ \ | ||
4868 | + (_MX6Q_PAD_SD2_CLK__USDHC2_CLK | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_200MHZ)) | ||
4869 | + | ||
4870 | +#define MX6Q_PAD_SD2_DAT0__USDHC2_DAT0_50MHZ \ | ||
4871 | + (_MX6Q_PAD_SD2_DAT0__USDHC2_DAT0 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL)) | ||
4872 | +#define MX6Q_PAD_SD2_DAT0__USDHC2_DAT0_100MHZ \ | ||
4873 | + (_MX6Q_PAD_SD2_DAT0__USDHC2_DAT0 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_100MHZ)) | ||
4874 | +#define MX6Q_PAD_SD2_DAT0__USDHC2_DAT0_200MHZ \ | ||
4875 | + (_MX6Q_PAD_SD2_DAT0__USDHC2_DAT0 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_200MHZ)) | ||
4876 | + | ||
4877 | +#define MX6Q_PAD_SD2_DAT1__USDHC2_DAT1_50MHZ \ | ||
4878 | + (_MX6Q_PAD_SD2_DAT1__USDHC2_DAT1 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL)) | ||
4879 | +#define MX6Q_PAD_SD2_DAT1__USDHC2_DAT1_100MHZ \ | ||
4880 | + (_MX6Q_PAD_SD2_DAT1__USDHC2_DAT1 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_100MHZ)) | ||
4881 | +#define MX6Q_PAD_SD2_DAT1__USDHC2_DAT1_200MHZ \ | ||
4882 | + (_MX6Q_PAD_SD2_DAT1__USDHC2_DAT1 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_200MHZ)) | ||
4883 | + | ||
4884 | +#define MX6Q_PAD_SD2_DAT2__USDHC2_DAT2_50MHZ \ | ||
4885 | + (_MX6Q_PAD_SD2_DAT2__USDHC2_DAT2 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL)) | ||
4886 | +#define MX6Q_PAD_SD2_DAT2__USDHC2_DAT2_100MHZ \ | ||
4887 | + (_MX6Q_PAD_SD2_DAT2__USDHC2_DAT2 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_100MHZ)) | ||
4888 | +#define MX6Q_PAD_SD2_DAT2__USDHC2_DAT2_200MHZ \ | ||
4889 | + (_MX6Q_PAD_SD2_DAT2__USDHC2_DAT2 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_200MHZ)) | ||
4890 | + | ||
4891 | +#define MX6Q_PAD_SD2_DAT3__USDHC2_DAT3_50MHZ \ | ||
4892 | + (_MX6Q_PAD_SD2_DAT3__USDHC2_DAT3 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL)) | ||
4893 | +#define MX6Q_PAD_SD2_DAT3__USDHC2_DAT3_100MHZ \ | ||
4894 | + (_MX6Q_PAD_SD2_DAT3__USDHC2_DAT3 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_100MHZ)) | ||
4895 | +#define MX6Q_PAD_SD2_DAT3__USDHC2_DAT3_200MHZ \ | ||
4896 | + (_MX6Q_PAD_SD2_DAT3__USDHC2_DAT3 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_200MHZ)) | ||
4897 | + | ||
4898 | #define MX6Q_PAD_SD3_DAT7__USDHC3_DAT7_50MHZ \ | ||
4899 | (_MX6Q_PAD_SD3_DAT7__USDHC3_DAT7 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL)) | ||
4900 | #define MX6Q_PAD_SD3_DAT7__USDHC3_DAT7_100MHZ \ | ||
4901 | diff --git a/arch/arm/plat-mxc/include/mach/ipu-v3.h b/arch/arm/plat-mxc/include/mach/ipu-v3.h | ||
4902 | old mode 100755 | ||
4903 | new mode 100644 | ||
4904 | diff --git a/arch/arm/plat-mxc/include/mach/memory.h b/arch/arm/plat-mxc/include/mach/memory.h | ||
4905 | old mode 100755 | ||
4906 | new mode 100644 | ||
4907 | diff --git a/arch/arm/plat-mxc/include/mach/mx50.h b/arch/arm/plat-mxc/include/mach/mx50.h | ||
4908 | old mode 100755 | ||
4909 | new mode 100644 | ||
4910 | diff --git a/arch/arm/plat-mxc/include/mach/mx51.h b/arch/arm/plat-mxc/include/mach/mx51.h | ||
4911 | old mode 100755 | ||
4912 | new mode 100644 | ||
4913 | diff --git a/arch/arm/plat-mxc/include/mach/mx53.h b/arch/arm/plat-mxc/include/mach/mx53.h | ||
4914 | old mode 100755 | ||
4915 | new mode 100644 | ||
4916 | diff --git a/arch/arm/plat-mxc/include/mach/mxc.h b/arch/arm/plat-mxc/include/mach/mxc.h | ||
4917 | old mode 100755 | ||
4918 | new mode 100644 | ||
4919 | diff --git a/arch/arm/plat-mxc/include/mach/mxc91231.h b/arch/arm/plat-mxc/include/mach/mxc91231.h | ||
4920 | old mode 100755 | ||
4921 | new mode 100644 | ||
4922 | diff --git a/arch/arm/plat-mxc/include/mach/mxc_dvfs.h b/arch/arm/plat-mxc/include/mach/mxc_dvfs.h | ||
4923 | old mode 100755 | ||
4924 | new mode 100644 | ||
4925 | diff --git a/arch/arm/plat-mxc/include/mach/mxc_edid.h b/arch/arm/plat-mxc/include/mach/mxc_edid.h | ||
4926 | old mode 100755 | ||
4927 | new mode 100644 | ||
4928 | diff --git a/arch/arm/plat-mxc/include/mach/mxc_vpu.h b/arch/arm/plat-mxc/include/mach/mxc_vpu.h | ||
4929 | old mode 100755 | ||
4930 | new mode 100644 | ||
4931 | diff --git a/arch/arm/plat-mxc/include/mach/sdram_autogating.h b/arch/arm/plat-mxc/include/mach/sdram_autogating.h | ||
4932 | old mode 100755 | ||
4933 | new mode 100644 | ||
4934 | diff --git a/arch/arm/plat-mxc/include/mach/system.h b/arch/arm/plat-mxc/include/mach/system.h | ||
4935 | old mode 100755 | ||
4936 | new mode 100644 | ||
4937 | diff --git a/arch/arm/plat-mxc/isp1504xc.c b/arch/arm/plat-mxc/isp1504xc.c | ||
4938 | old mode 100755 | ||
4939 | new mode 100644 | ||
4940 | diff --git a/arch/arm/plat-mxc/pwm.c b/arch/arm/plat-mxc/pwm.c | ||
4941 | old mode 100755 | ||
4942 | new mode 100644 | ||
4943 | diff --git a/arch/arm/plat-mxc/serialxc.c b/arch/arm/plat-mxc/serialxc.c | ||
4944 | old mode 100755 | ||
4945 | new mode 100644 | ||
4946 | diff --git a/arch/arm/plat-mxc/usb_common.c b/arch/arm/plat-mxc/usb_common.c | ||
4947 | old mode 100755 | ||
4948 | new mode 100644 | ||
4949 | diff --git a/arch/arm/plat-mxc/usb_wakeup.c b/arch/arm/plat-mxc/usb_wakeup.c | ||
4950 | old mode 100755 | ||
4951 | new mode 100644 | ||
4952 | diff --git a/arch/arm/plat-mxc/utmixc.c b/arch/arm/plat-mxc/utmixc.c | ||
4953 | old mode 100755 | ||
4954 | new mode 100644 | ||
4955 | diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper | ||
4956 | old mode 100755 | ||
4957 | new mode 100644 | ||
4958 | diff --git a/drivers/char/fsl_otp.c b/drivers/char/fsl_otp.c | ||
4959 | old mode 100755 | ||
4960 | new mode 100644 | ||
4961 | diff --git a/drivers/char/fsl_otp.h b/drivers/char/fsl_otp.h | ||
4962 | old mode 100755 | ||
4963 | new mode 100644 | ||
4964 | diff --git a/drivers/char/regs-ocotp-v2.h b/drivers/char/regs-ocotp-v2.h | ||
4965 | old mode 100755 | ||
4966 | new mode 100644 | ||
4967 | diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig | ||
4968 | old mode 100755 | ||
4969 | new mode 100644 | ||
4970 | diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile | ||
4971 | old mode 100755 | ||
4972 | new mode 100644 | ||
4973 | diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig | ||
4974 | old mode 100755 | ||
4975 | new mode 100644 | ||
4976 | diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile | ||
4977 | old mode 100755 | ||
4978 | new mode 100644 | ||
4979 | diff --git a/drivers/hwmon/da9052-adc.c b/drivers/hwmon/da9052-adc.c | ||
4980 | old mode 100755 | ||
4981 | new mode 100644 | ||
4982 | diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig | ||
4983 | old mode 100755 | ||
4984 | new mode 100644 | ||
4985 | diff --git a/drivers/input/misc/Makefile b/drivers/input/misc/Makefile | ||
4986 | old mode 100755 | ||
4987 | new mode 100644 | ||
4988 | diff --git a/drivers/input/misc/isl29023.c b/drivers/input/misc/isl29023.c | ||
4989 | old mode 100755 | ||
4990 | new mode 100644 | ||
4991 | diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig | ||
4992 | old mode 100755 | ||
4993 | new mode 100644 | ||
4994 | index 7cf975a..a2589e4 | ||
4995 | --- a/drivers/input/touchscreen/Kconfig | ||
4996 | +++ b/drivers/input/touchscreen/Kconfig | ||
4997 | @@ -199,6 +199,16 @@ config TOUCHSCREEN_ELAN | ||
4998 | To compile this driver as a module, choose M here: the | ||
4999 | module will be called elan-touch. | ||
5000 | |||
5001 | +config TOUCHSCREEN_EGALAX_SINGLE_TOUCH | ||
5002 | + bool "EETI eGalax touchscreen as single-touch" | ||
5003 | + default N | ||
5004 | + depends on TOUCHSCREEN_EGALAX | ||
5005 | + help | ||
5006 | + If you say yes here you get single-touch touchscreen support | ||
5007 | + on the eGalax I2C controller. | ||
5008 | + If you say "no", you'll get the normal multi-touch. | ||
5009 | + | ||
5010 | + | ||
5011 | config TOUCHSCREEN_FUJITSU | ||
5012 | tristate "Fujitsu serial touchscreen" | ||
5013 | select SERIO | ||
5014 | @@ -282,6 +292,22 @@ config TOUCHSCREEN_MAX11801 | ||
5015 | To compile this driver as a module, choose M here: the | ||
5016 | module will be called max11801_ts. | ||
5017 | |||
5018 | +config TOUCHSCREEN_FT5X06 | ||
5019 | + tristate "Focaltech FT5X06 5 point touchscreen" | ||
5020 | + select I2C | ||
5021 | + help | ||
5022 | + If you say yes here you get touchscreen support through | ||
5023 | + FocalTech's FT5X06 controller. | ||
5024 | + | ||
5025 | +config TOUCHSCREEN_FT5X06_SINGLE_TOUCH | ||
5026 | + bool "FT5X06 touchscreen as single-touch" | ||
5027 | + default N | ||
5028 | + depends on TOUCHSCREEN_FT5X06 | ||
5029 | + help | ||
5030 | + If you say yes here you get single-touch touchscreen support | ||
5031 | + on the FT5X06 I2C controller. | ||
5032 | + If you say "no", you'll get the normal 5-finger goodness. | ||
5033 | + | ||
5034 | config TOUCHSCREEN_MCS5000 | ||
5035 | tristate "MELFAS MCS-5000 touchscreen" | ||
5036 | depends on I2C | ||
5037 | @@ -695,6 +721,17 @@ config TOUCHSCREEN_TSC2007 | ||
5038 | To compile this driver as a module, choose M here: the | ||
5039 | module will be called tsc2007. | ||
5040 | |||
5041 | +config TOUCHSCREEN_TSC2004 | ||
5042 | + tristate "TSC2004 based touchscreens" | ||
5043 | + depends on I2C | ||
5044 | + help | ||
5045 | + Say Y here if you have a TSC2004 based touchscreen. | ||
5046 | + | ||
5047 | + If unsure, say N. | ||
5048 | + | ||
5049 | + To compile this driver as a module, choose M here: the | ||
5050 | + module will be called tsc2004. | ||
5051 | + | ||
5052 | config TOUCHSCREEN_W90X900 | ||
5053 | tristate "W90P910 touchscreen driver" | ||
5054 | depends on HAVE_CLK | ||
5055 | diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile | ||
5056 | old mode 100755 | ||
5057 | new mode 100644 | ||
5058 | index e614512..eac3453 | ||
5059 | --- a/drivers/input/touchscreen/Makefile | ||
5060 | +++ b/drivers/input/touchscreen/Makefile | ||
5061 | @@ -49,6 +49,7 @@ obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o | ||
5062 | obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN) += touchwin.o | ||
5063 | obj-$(CONFIG_TOUCHSCREEN_TSC2005) += tsc2005.o | ||
5064 | obj-$(CONFIG_TOUCHSCREEN_TSC2007) += tsc2007.o | ||
5065 | +obj-$(CONFIG_TOUCHSCREEN_TSC2004) += tsc2004.o | ||
5066 | obj-$(CONFIG_TOUCHSCREEN_UCB1400) += ucb1400_ts.o | ||
5067 | obj-$(CONFIG_TOUCHSCREEN_WACOM_W8001) += wacom_w8001.o | ||
5068 | obj-$(CONFIG_TOUCHSCREEN_WM831X) += wm831x-ts.o | ||
5069 | @@ -64,4 +65,5 @@ obj-$(CONFIG_TOUCHSCREEN_P1003) += p1003_ts.o | ||
5070 | obj-$(CONFIG_TOUCHSCREEN_TPS6507X) += tps6507x-ts.o | ||
5071 | obj-$(CONFIG_TOUCHSCREEN_MAX11801) += max11801_ts.o | ||
5072 | obj-$(CONFIG_TOUCHSCREEN_EGALAX) += egalax_ts.o | ||
5073 | +obj-$(CONFIG_TOUCHSCREEN_FT5X06) += ft5x06_ts.o | ||
5074 | obj-$(CONFIG_TOUCHSCREEN_ELAN) += elan_ts.o | ||
5075 | diff --git a/drivers/input/touchscreen/da9052_tsi_filter.c b/drivers/input/touchscreen/da9052_tsi_filter.c | ||
5076 | old mode 100755 | ||
5077 | new mode 100644 | ||
5078 | diff --git a/drivers/input/touchscreen/egalax_ts.c b/drivers/input/touchscreen/egalax_ts.c | ||
5079 | index fff8afe..0b6cde7 100644 | ||
5080 | --- a/drivers/input/touchscreen/egalax_ts.c | ||
5081 | +++ b/drivers/input/touchscreen/egalax_ts.c | ||
5082 | @@ -139,7 +139,7 @@ retry: | ||
5083 | events[id].x = x; | ||
5084 | events[id].y = y; | ||
5085 | |||
5086 | -#ifdef FORCE_SINGLE_POINTER_SUPPORT | ||
5087 | +#ifdef CONFIG_TOUCHSCREEN_EGALAX_SINGLE_TOUCH | ||
5088 | input_report_abs(input_dev, ABS_X, x); | ||
5089 | input_report_abs(input_dev, ABS_Y, y); | ||
5090 | input_event(data->input_dev, EV_KEY, BTN_TOUCH, 1); | ||
5091 | @@ -166,7 +166,7 @@ retry: | ||
5092 | dev_dbg(&client->dev, "release id:%d\n", id); | ||
5093 | events[id].valid = 0; | ||
5094 | events[id].status = 0; | ||
5095 | -#ifdef FORCE_SINGLE_POINTER_SUPPORT | ||
5096 | +#ifdef CONFIG_TOUCHSCREEN_EGALAX_SINGLE_TOUCH | ||
5097 | input_report_key(input_dev, BTN_TOUCH, 0); | ||
5098 | input_report_abs(input_dev, ABS_PRESSURE, 0); | ||
5099 | #else | ||
5100 | @@ -256,8 +256,9 @@ static int __devinit egalax_ts_probe(struct i2c_client *client, | ||
5101 | __set_bit(ABS_PRESSURE, input_dev->absbit); | ||
5102 | input_set_abs_params(input_dev, ABS_X, 0, 32767, 0, 0); | ||
5103 | input_set_abs_params(input_dev, ABS_Y, 0, 32767, 0, 0); | ||
5104 | + input_set_abs_params(input_dev, ABS_PRESSURE, 0, 1, 0, 0); | ||
5105 | |||
5106 | -#ifndef FORCE_SINGLE_POINTER_SUPPORT | ||
5107 | +#ifndef CONFIG_TOUCHSCREEN_EGALAX_SINGLE_TOUCH | ||
5108 | input_set_abs_params(input_dev, ABS_MT_POSITION_X, 0, 32767, 0, 0); | ||
5109 | input_set_abs_params(input_dev, ABS_MT_POSITION_Y, 0, 32767, 0, 0); | ||
5110 | input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, 0, 255, 0, 0); | ||
5111 | diff --git a/drivers/input/touchscreen/ft5x06_ts.c b/drivers/input/touchscreen/ft5x06_ts.c | ||
5112 | new file mode 100644 | ||
5113 | index 0000000..89b5726 | ||
5114 | --- /dev/null | ||
5115 | +++ b/drivers/input/touchscreen/ft5x06_ts.c | ||
5116 | @@ -0,0 +1,572 @@ | ||
5117 | +/* | ||
5118 | + * Boundary Devices FTx06 touch screen controller. | ||
5119 | + * | ||
5120 | + * Copyright (c) by Boundary Devices <info@boundarydevices.com> | ||
5121 | + * | ||
5122 | + * This program is free software; you can redistribute it and/or modify | ||
5123 | + * it under the terms of the GNU General Public License as published by | ||
5124 | + * the Free Software Foundation; either version 2 of the License, or | ||
5125 | + * (at your option) any later version. | ||
5126 | + * | ||
5127 | + * This program is distributed in the hope that it will be useful, | ||
5128 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
5129 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
5130 | + * GNU General Public License for more details. | ||
5131 | + * | ||
5132 | + * You should have received a copy of the GNU General Public License | ||
5133 | + * along with this program; if not, write to the Free Software | ||
5134 | + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
5135 | + * | ||
5136 | + */ | ||
5137 | +#include <linux/module.h> | ||
5138 | +#include <linux/init.h> | ||
5139 | +#include <linux/i2c.h> | ||
5140 | +#include <linux/slab.h> | ||
5141 | +#include <linux/interrupt.h> | ||
5142 | +#include <linux/wait.h> | ||
5143 | +#include <linux/io.h> | ||
5144 | +#include <mach/hardware.h> | ||
5145 | +#include <mach/gpio.h> | ||
5146 | +#include <linux/proc_fs.h> | ||
5147 | +#include <linux/delay.h> | ||
5148 | +#include <linux/input.h> | ||
5149 | + | ||
5150 | +#ifdef CONFIG_TOUCHSCREEN_FT5X06_SINGLE_TOUCH | ||
5151 | +#else | ||
5152 | +#define USE_ABS_MT | ||
5153 | +#endif | ||
5154 | + | ||
5155 | +struct point { | ||
5156 | + int x; | ||
5157 | + int y; | ||
5158 | +}; | ||
5159 | + | ||
5160 | +struct ft5x06_ts { | ||
5161 | + struct i2c_client *client; | ||
5162 | + struct input_dev *idev; | ||
5163 | + wait_queue_head_t sample_waitq; | ||
5164 | + struct semaphore sem; | ||
5165 | + struct completion init_exit; | ||
5166 | + struct task_struct *rtask; | ||
5167 | + int use_count; | ||
5168 | + int bReady; | ||
5169 | + int irq; | ||
5170 | + unsigned gp; | ||
5171 | + struct proc_dir_entry *procentry; | ||
5172 | +}; | ||
5173 | +static const char *client_name = "ft5x06"; | ||
5174 | + | ||
5175 | +struct ft5x06_ts *gts; | ||
5176 | + | ||
5177 | +static char const procentryname[] = { | ||
5178 | + "ft5x06" | ||
5179 | +}; | ||
5180 | + | ||
5181 | +static int ts_startup(struct ft5x06_ts *ts); | ||
5182 | +static void ts_shutdown(struct ft5x06_ts *ts); | ||
5183 | + | ||
5184 | +static int ft5x06_proc_read | ||
5185 | + (char *page, | ||
5186 | + char **start, | ||
5187 | + off_t off, | ||
5188 | + int count, | ||
5189 | + int *eof, | ||
5190 | + void *data) | ||
5191 | +{ | ||
5192 | + printk(KERN_ERR "%s\n", __func__); | ||
5193 | + return 0 ; | ||
5194 | +} | ||
5195 | + | ||
5196 | +static int | ||
5197 | +ft5x06_proc_write | ||
5198 | + (struct file *file, | ||
5199 | + const char __user *buffer, | ||
5200 | + unsigned long count, | ||
5201 | + void *data) | ||
5202 | +{ | ||
5203 | + printk(KERN_ERR "%s\n", __func__); | ||
5204 | + return count ; | ||
5205 | +} | ||
5206 | + | ||
5207 | +/*-----------------------------------------------------------------------*/ | ||
5208 | +static inline void ts_evt_add(struct ft5x06_ts *ts, | ||
5209 | + unsigned buttons, struct point *p) | ||
5210 | +{ | ||
5211 | + struct input_dev *idev = ts->idev; | ||
5212 | + int i; | ||
5213 | + if (!buttons) { | ||
5214 | + /* send release to user space. */ | ||
5215 | +#ifdef USE_ABS_MT | ||
5216 | + input_event(idev, EV_ABS, ABS_MT_TOUCH_MAJOR, 0); | ||
5217 | + input_event(idev, EV_KEY, BTN_TOUCH, 0); | ||
5218 | + input_mt_sync(idev); | ||
5219 | +#else | ||
5220 | + input_report_abs(idev, ABS_PRESSURE, 0); | ||
5221 | + input_report_key(idev, BTN_TOUCH, 0); | ||
5222 | + input_sync(idev); | ||
5223 | +#endif | ||
5224 | + } else { | ||
5225 | + for (i = 0; i < buttons; i++) { | ||
5226 | +#ifdef USE_ABS_MT | ||
5227 | + input_event(idev, EV_ABS, ABS_MT_POSITION_X, p[i].x); | ||
5228 | + input_event(idev, EV_ABS, ABS_MT_POSITION_Y, p[i].y); | ||
5229 | + input_event(idev, EV_ABS, ABS_MT_TOUCH_MAJOR, 1); | ||
5230 | + input_mt_sync(idev); | ||
5231 | +#else | ||
5232 | + input_report_abs(idev, ABS_X, p[i].x); | ||
5233 | + input_report_abs(idev, ABS_Y, p[i].y); | ||
5234 | + input_report_abs(idev, ABS_PRESSURE, 1); | ||
5235 | + input_report_key(idev, BTN_TOUCH, 1); | ||
5236 | + input_sync(idev); | ||
5237 | +#endif | ||
5238 | + } | ||
5239 | + input_event(idev, EV_KEY, BTN_TOUCH, 1); | ||
5240 | + } | ||
5241 | +#ifdef USE_ABS_MT | ||
5242 | + input_sync(idev); | ||
5243 | +#endif | ||
5244 | +} | ||
5245 | + | ||
5246 | +static int ts_open(struct input_dev *idev) | ||
5247 | +{ | ||
5248 | + struct ft5x06_ts *ts = input_get_drvdata(idev); | ||
5249 | + return ts_startup(ts); | ||
5250 | +} | ||
5251 | + | ||
5252 | +static void ts_close(struct input_dev *idev) | ||
5253 | +{ | ||
5254 | + struct ft5x06_ts *ts = input_get_drvdata(idev); | ||
5255 | + ts_shutdown(ts); | ||
5256 | +} | ||
5257 | + | ||
5258 | +static inline int ts_register(struct ft5x06_ts *ts) | ||
5259 | +{ | ||
5260 | + struct input_dev *idev; | ||
5261 | + idev = input_allocate_device(); | ||
5262 | + if (idev == NULL) | ||
5263 | + return -ENOMEM; | ||
5264 | + | ||
5265 | + ts->idev = idev; | ||
5266 | + idev->name = procentryname ; | ||
5267 | + idev->id.product = ts->client->addr; | ||
5268 | + idev->open = ts_open; | ||
5269 | + idev->close = ts_close; | ||
5270 | + | ||
5271 | + __set_bit(EV_ABS, idev->evbit); | ||
5272 | + __set_bit(EV_KEY, idev->evbit); | ||
5273 | + __set_bit(BTN_TOUCH, idev->keybit); | ||
5274 | + | ||
5275 | +#ifdef USE_ABS_MT | ||
5276 | + input_set_abs_params(idev, ABS_MT_POSITION_X, 0, 1023, 0, 0); | ||
5277 | + input_set_abs_params(idev, ABS_MT_POSITION_Y, 0, 0x255, 0, 0); | ||
5278 | + input_set_abs_params(idev, ABS_MT_TOUCH_MAJOR, 0, 1, 0, 0); | ||
5279 | +#else | ||
5280 | + __set_bit(EV_SYN, idev->evbit); | ||
5281 | + input_set_abs_params(idev, ABS_X, 0, 1023, 0, 0); | ||
5282 | + input_set_abs_params(idev, ABS_Y, 0, 0x255, 0, 0); | ||
5283 | + input_set_abs_params(idev, ABS_PRESSURE, 0, 1, 0, 0); | ||
5284 | +#endif | ||
5285 | + | ||
5286 | + input_set_drvdata(idev, ts); | ||
5287 | + return input_register_device(idev); | ||
5288 | +} | ||
5289 | + | ||
5290 | +static inline void ts_deregister(struct ft5x06_ts *ts) | ||
5291 | +{ | ||
5292 | + if (ts->idev) { | ||
5293 | + input_unregister_device(ts->idev); | ||
5294 | + input_free_device(ts->idev); | ||
5295 | + ts->idev = NULL; | ||
5296 | + } | ||
5297 | +} | ||
5298 | + | ||
5299 | +#ifdef DEBUG | ||
5300 | +static void printHex(u8 const *buf, unsigned len) | ||
5301 | +{ | ||
5302 | + char hex[512]; | ||
5303 | + char *next = hex ; | ||
5304 | + char *end = hex+sizeof(hex); | ||
5305 | + | ||
5306 | + while (len--) { | ||
5307 | + next += snprintf(next, end-next, "%02x", *buf++); | ||
5308 | + if (next >= end) { | ||
5309 | + hex[sizeof(hex)-1] = '\0' ; | ||
5310 | + break; | ||
5311 | + } | ||
5312 | + } | ||
5313 | + printk(KERN_ERR "%s\n", hex); | ||
5314 | +} | ||
5315 | +#endif | ||
5316 | + | ||
5317 | +static void write_reg(struct ft5x06_ts *ts, int regnum, int value) | ||
5318 | +{ | ||
5319 | + u8 regnval[] = { | ||
5320 | + regnum, | ||
5321 | + value | ||
5322 | + }; | ||
5323 | + struct i2c_msg pkt = { | ||
5324 | + ts->client->addr, 0, sizeof(regnval), regnval | ||
5325 | + }; | ||
5326 | + int ret = i2c_transfer(ts->client->adapter, &pkt, 1); | ||
5327 | + if (ret != 1) | ||
5328 | + printk(KERN_WARNING "%s: i2c_transfer failed\n", __func__); | ||
5329 | + else | ||
5330 | + printk(KERN_DEBUG "%s: set register 0x%02x to 0x%02x\n", | ||
5331 | + __func__, regnum, value); | ||
5332 | +} | ||
5333 | + | ||
5334 | +static void set_mode(struct ft5x06_ts *ts, int mode) | ||
5335 | +{ | ||
5336 | + write_reg(ts, 0, (mode&7)<<4); | ||
5337 | + printk(KERN_DEBUG "%s: changed mode to 0x%02x\n", __func__, mode); | ||
5338 | +} | ||
5339 | + | ||
5340 | +#define WORK_MODE 0 | ||
5341 | +#define FACTORY_MODE 4 | ||
5342 | + | ||
5343 | +/*-----------------------------------------------------------------------*/ | ||
5344 | + | ||
5345 | +/* | ||
5346 | + * This is a RT kernel thread that handles the I2c accesses | ||
5347 | + * The I2c access functions are expected to be able to sleep. | ||
5348 | + */ | ||
5349 | +static int ts_thread(void *_ts) | ||
5350 | +{ | ||
5351 | + int ret; | ||
5352 | + struct point points[5]; | ||
5353 | + unsigned char buf[33]; | ||
5354 | + struct ft5x06_ts *ts = _ts; | ||
5355 | + unsigned char startch[1] = { 0 }; | ||
5356 | + struct i2c_msg readpkt[2] = { | ||
5357 | + {ts->client->addr, 0, 1, startch}, | ||
5358 | + {ts->client->addr, I2C_M_RD, sizeof(buf), buf} | ||
5359 | + }; | ||
5360 | + | ||
5361 | + struct task_struct *tsk = current; | ||
5362 | + | ||
5363 | + ts->rtask = tsk; | ||
5364 | + | ||
5365 | + daemonize("ft5x06tsd"); | ||
5366 | + /* only want to receive SIGKILL */ | ||
5367 | + allow_signal(SIGKILL); | ||
5368 | + | ||
5369 | + complete(&ts->init_exit); | ||
5370 | + | ||
5371 | + do { | ||
5372 | + int buttons = 0 ; | ||
5373 | + ts->bReady = 0; | ||
5374 | + ret = i2c_transfer(ts->client->adapter, readpkt, | ||
5375 | + ARRAY_SIZE(readpkt)); | ||
5376 | + if (ret != ARRAY_SIZE(readpkt)) { | ||
5377 | + printk(KERN_WARNING "%s: i2c_transfer failed\n", | ||
5378 | + client_name); | ||
5379 | + msleep(1000); | ||
5380 | + } else { | ||
5381 | + int i; | ||
5382 | + unsigned char *p = buf+3; | ||
5383 | +#ifdef DEBUG | ||
5384 | + printHex(buf, sizeof(buf)); | ||
5385 | +#endif | ||
5386 | + buttons = buf[2]; | ||
5387 | + if (buttons > 5) { | ||
5388 | + printk(KERN_ERR | ||
5389 | + "%s: invalid button count %02x\n", | ||
5390 | + __func__, buttons); | ||
5391 | + buttons = 0 ; | ||
5392 | + } else { | ||
5393 | + for (i = 0; i < buttons; i++) { | ||
5394 | + points[i].x = ((p[0] << 8) | ||
5395 | + | p[1]) & 0x7ff; | ||
5396 | + points[i].y = ((p[2] << 8) | ||
5397 | + | p[3]) & 0x7ff; | ||
5398 | + p += 6; | ||
5399 | + } | ||
5400 | + } | ||
5401 | + } | ||
5402 | + | ||
5403 | + if (signal_pending(tsk)) | ||
5404 | + break; | ||
5405 | +#ifdef DEBUG | ||
5406 | + printk(KERN_ERR "%s: buttons = %d, " | ||
5407 | + "points[0].x = %d, " | ||
5408 | + "points[0].y = %d\n", | ||
5409 | + client_name, buttons, points[0].x, points[0].y); | ||
5410 | +#endif | ||
5411 | + ts_evt_add(ts, buttons, points); | ||
5412 | + if (0 < buttons) | ||
5413 | + wait_event_interruptible_timeout(ts->sample_waitq, | ||
5414 | + ts->bReady, HZ/20); | ||
5415 | + else | ||
5416 | + wait_event_interruptible(ts->sample_waitq, ts->bReady); | ||
5417 | + if (gpio_get_value(ts->gp)) { | ||
5418 | + if (buttons) { | ||
5419 | + buttons = 0; | ||
5420 | + ts_evt_add(ts, buttons, points); | ||
5421 | + } | ||
5422 | + if (signal_pending(tsk)) | ||
5423 | + break; | ||
5424 | + } | ||
5425 | + } while (1); | ||
5426 | + | ||
5427 | + ts->rtask = NULL; | ||
5428 | + complete_and_exit(&ts->init_exit, 0); | ||
5429 | +} | ||
5430 | + | ||
5431 | +/* | ||
5432 | + * We only detect samples ready with this interrupt | ||
5433 | + * handler, and even then we just schedule our task. | ||
5434 | + */ | ||
5435 | +static irqreturn_t ts_interrupt(int irq, void *id) | ||
5436 | +{ | ||
5437 | + struct ft5x06_ts *ts = id; | ||
5438 | + int bit = gpio_get_value(ts->gp); | ||
5439 | + if (bit == 0) { | ||
5440 | + ts->bReady = 1; | ||
5441 | + wmb(); /* flush bReady */ | ||
5442 | + wake_up(&ts->sample_waitq); | ||
5443 | + } | ||
5444 | + return IRQ_HANDLED; | ||
5445 | +} | ||
5446 | + | ||
5447 | +#define ID_G_THGROUP 0x80 | ||
5448 | +#define ID_G_PERIODMONITOR 0x89 | ||
5449 | +#define FT5X0X_REG_HEIGHT_B 0x8a | ||
5450 | +#define FT5X0X_REG_MAX_FRAME 0x8b | ||
5451 | +#define FT5X0X_REG_FEG_FRAME 0x8e | ||
5452 | +#define FT5X0X_REG_LEFT_RIGHT_OFFSET 0x92 | ||
5453 | +#define FT5X0X_REG_UP_DOWN_OFFSET 0x93 | ||
5454 | +#define FT5X0X_REG_DISTANCE_LEFT_RIGHT 0x94 | ||
5455 | +#define FT5X0X_REG_DISTANCE_UP_DOWN 0x95 | ||
5456 | +#define FT5X0X_REG_MAX_X_HIGH 0x98 | ||
5457 | +#define FT5X0X_REG_MAX_X_LOW 0x99 | ||
5458 | +#define FT5X0X_REG_MAX_Y_HIGH 0x9a | ||
5459 | +#define FT5X0X_REG_MAX_Y_LOW 0x9b | ||
5460 | +#define FT5X0X_REG_K_X_HIGH 0x9c | ||
5461 | +#define FT5X0X_REG_K_X_LOW 0x9d | ||
5462 | +#define FT5X0X_REG_K_Y_HIGH 0x9e | ||
5463 | +#define FT5X0X_REG_K_Y_LOW 0x9f | ||
5464 | + | ||
5465 | +#define ID_G_AUTO_CLB 0xa0 | ||
5466 | +#define ID_G_B_AREA_TH 0xae | ||
5467 | + | ||
5468 | +#ifdef DEBUG | ||
5469 | +static void dumpRegs(struct ft5x06_ts *ts, unsigned start, unsigned end) | ||
5470 | +{ | ||
5471 | + u8 regbuf[512]; | ||
5472 | + unsigned char startch[1] = { start }; | ||
5473 | + int ret ; | ||
5474 | + struct i2c_msg readpkt[2] = { | ||
5475 | + {ts->client->addr, 0, 1, startch}, | ||
5476 | + {ts->client->addr, I2C_M_RD, end-start+1, regbuf} | ||
5477 | + }; | ||
5478 | + ret = i2c_transfer(ts->client->adapter, readpkt, ARRAY_SIZE(readpkt)); | ||
5479 | + if (ret != ARRAY_SIZE(readpkt)) { | ||
5480 | + printk(KERN_WARNING "%s: i2c_transfer failed\n", client_name); | ||
5481 | + } else { | ||
5482 | + printk(KERN_ERR "registers %02x..%02x\n", start, end); | ||
5483 | + printHex(regbuf, end-start+1); | ||
5484 | + } | ||
5485 | +} | ||
5486 | +#endif | ||
5487 | + | ||
5488 | +static int ts_startup(struct ft5x06_ts *ts) | ||
5489 | +{ | ||
5490 | + int ret = 0; | ||
5491 | + if (ts == NULL) | ||
5492 | + return -EIO; | ||
5493 | + | ||
5494 | + if (down_interruptible(&ts->sem)) | ||
5495 | + return -EINTR; | ||
5496 | + | ||
5497 | + if (ts->use_count++ != 0) | ||
5498 | + goto out; | ||
5499 | + | ||
5500 | + if (ts->rtask) | ||
5501 | + panic("ft5x06tsd: rtask running?"); | ||
5502 | + | ||
5503 | + ret = request_irq(ts->irq, &ts_interrupt, IRQF_TRIGGER_FALLING, | ||
5504 | + client_name, ts); | ||
5505 | + if (ret) { | ||
5506 | + printk(KERN_ERR "%s: request_irq failed, irq:%i\n", | ||
5507 | + client_name, ts->irq); | ||
5508 | + goto out; | ||
5509 | + } | ||
5510 | + | ||
5511 | +#ifdef DEBUG | ||
5512 | + set_mode(ts, FACTORY_MODE); | ||
5513 | + dumpRegs(ts, 0x4c, 0x4C); | ||
5514 | + write_reg(ts, 0x4C, 0x05); | ||
5515 | + dumpRegs(ts, 0, 0x4C); | ||
5516 | +#endif | ||
5517 | + set_mode(ts, WORK_MODE); | ||
5518 | +#ifdef DEBUG | ||
5519 | + dumpRegs(ts, 0x3b, 0x3b); | ||
5520 | + dumpRegs(ts, 0x6a, 0x6a); | ||
5521 | + dumpRegs(ts, ID_G_THGROUP, ID_G_PERIODMONITOR); | ||
5522 | + dumpRegs(ts, FT5X0X_REG_HEIGHT_B, FT5X0X_REG_K_Y_LOW); | ||
5523 | + dumpRegs(ts, ID_G_AUTO_CLB, ID_G_B_AREA_TH); | ||
5524 | +#endif | ||
5525 | + set_mode(ts, WORK_MODE); | ||
5526 | + | ||
5527 | + init_completion(&ts->init_exit); | ||
5528 | + ret = kernel_thread(ts_thread, ts, CLONE_KERNEL); | ||
5529 | + if (ret >= 0) { | ||
5530 | + wait_for_completion(&ts->init_exit); | ||
5531 | + ret = 0; | ||
5532 | + } else { | ||
5533 | + free_irq(ts->irq, ts); | ||
5534 | + } | ||
5535 | + | ||
5536 | + out: | ||
5537 | + if (ret) | ||
5538 | + ts->use_count--; | ||
5539 | + up(&ts->sem); | ||
5540 | + return ret; | ||
5541 | +} | ||
5542 | + | ||
5543 | +/* | ||
5544 | + * Release touchscreen resources. Disable IRQs. | ||
5545 | + */ | ||
5546 | +static void ts_shutdown(struct ft5x06_ts *ts) | ||
5547 | +{ | ||
5548 | + if (ts) { | ||
5549 | + down(&ts->sem); | ||
5550 | + if (--ts->use_count == 0) { | ||
5551 | + if (ts->rtask) { | ||
5552 | + send_sig(SIGKILL, ts->rtask, 1); | ||
5553 | + wait_for_completion(&ts->init_exit); | ||
5554 | + } | ||
5555 | + free_irq(ts->irq, ts); | ||
5556 | + } | ||
5557 | + up(&ts->sem); | ||
5558 | + } | ||
5559 | +} | ||
5560 | +/*-----------------------------------------------------------------------*/ | ||
5561 | + | ||
5562 | +/* Return 0 if detection is successful, -ENODEV otherwise */ | ||
5563 | +static int detect_ft5x06(struct i2c_client *client) | ||
5564 | +{ | ||
5565 | + struct i2c_adapter *adapter = client->adapter; | ||
5566 | + char buffer; | ||
5567 | + struct i2c_msg pkt = { | ||
5568 | + client->addr, | ||
5569 | + I2C_M_RD, | ||
5570 | + sizeof(buffer), | ||
5571 | + &buffer | ||
5572 | + }; | ||
5573 | + if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) | ||
5574 | + return -ENODEV; | ||
5575 | + if (i2c_transfer(adapter, &pkt, 1) != 1) | ||
5576 | + return -ENODEV; | ||
5577 | + return 0; | ||
5578 | +} | ||
5579 | + | ||
5580 | +/* Return 0 if detection is successful, -ENODEV otherwise */ | ||
5581 | +static int ts_detect(struct i2c_client *client, | ||
5582 | + struct i2c_board_info *info) | ||
5583 | +{ | ||
5584 | + int err = detect_ft5x06(client); | ||
5585 | + if (!err) | ||
5586 | + strlcpy(info->type, "ft5x06-ts", I2C_NAME_SIZE); | ||
5587 | + return err; | ||
5588 | +} | ||
5589 | + | ||
5590 | +static int ts_probe(struct i2c_client *client, const struct i2c_device_id *id) | ||
5591 | +{ | ||
5592 | + int err = 0; | ||
5593 | + struct ft5x06_ts *ts; | ||
5594 | + struct device *dev = &client->dev; | ||
5595 | + if (gts) { | ||
5596 | + printk(KERN_ERR "%s: Error gts is already allocated\n", | ||
5597 | + client_name); | ||
5598 | + return -ENOMEM; | ||
5599 | + } | ||
5600 | + if (detect_ft5x06(client) != 0) { | ||
5601 | + dev_err(dev, "%s: Could not detect touch screen.\n", | ||
5602 | + client_name); | ||
5603 | + return -ENODEV; | ||
5604 | + } | ||
5605 | + ts = kzalloc(sizeof(struct ft5x06_ts), GFP_KERNEL); | ||
5606 | + if (!ts) { | ||
5607 | + dev_err(dev, "Couldn't allocate memory for %s\n", client_name); | ||
5608 | + return -ENOMEM; | ||
5609 | + } | ||
5610 | + init_waitqueue_head(&ts->sample_waitq); | ||
5611 | + sema_init(&ts->sem, 1); | ||
5612 | + ts->client = client; | ||
5613 | + ts->irq = client->irq ; | ||
5614 | + ts->gp = irq_to_gpio(client->irq); | ||
5615 | + printk(KERN_INFO "%s: %s touchscreen irq=%i, gp=%i\n", __func__, | ||
5616 | + client_name, ts->irq, ts->gp); | ||
5617 | + i2c_set_clientdata(client, ts); | ||
5618 | + err = ts_register(ts); | ||
5619 | + if (err == 0) { | ||
5620 | + gts = ts; | ||
5621 | + ts->procentry = create_proc_entry(procentryname, 0, NULL); | ||
5622 | + if (ts->procentry) { | ||
5623 | + ts->procentry->read_proc = ft5x06_proc_read ; | ||
5624 | + ts->procentry->write_proc = ft5x06_proc_write ; | ||
5625 | + } | ||
5626 | + } else { | ||
5627 | + printk(KERN_WARNING "%s: ts_register failed\n", client_name); | ||
5628 | + ts_deregister(ts); | ||
5629 | + kfree(ts); | ||
5630 | + } | ||
5631 | + return err; | ||
5632 | +} | ||
5633 | + | ||
5634 | +static int ts_remove(struct i2c_client *client) | ||
5635 | +{ | ||
5636 | + struct ft5x06_ts *ts = i2c_get_clientdata(client); | ||
5637 | + remove_proc_entry(procentryname, 0); | ||
5638 | + if (ts == gts) { | ||
5639 | + gts = NULL; | ||
5640 | + ts_deregister(ts); | ||
5641 | + } else { | ||
5642 | + printk(KERN_ERR "%s: Error ts!=gts\n", client_name); | ||
5643 | + } | ||
5644 | + kfree(ts); | ||
5645 | + return 0; | ||
5646 | +} | ||
5647 | + | ||
5648 | + | ||
5649 | +/*-----------------------------------------------------------------------*/ | ||
5650 | + | ||
5651 | +static const struct i2c_device_id ts_idtable[] = { | ||
5652 | + { "ft5x06-ts", 0 }, | ||
5653 | + { } | ||
5654 | +}; | ||
5655 | + | ||
5656 | +static struct i2c_driver ts_driver = { | ||
5657 | + .driver = { | ||
5658 | + .owner = THIS_MODULE, | ||
5659 | + .name = "ft5x06-ts", | ||
5660 | + }, | ||
5661 | + .id_table = ts_idtable, | ||
5662 | + .probe = ts_probe, | ||
5663 | + .remove = __devexit_p(ts_remove), | ||
5664 | + .detect = ts_detect, | ||
5665 | +}; | ||
5666 | + | ||
5667 | +static int __init ts_init(void) | ||
5668 | +{ | ||
5669 | + int res = i2c_add_driver(&ts_driver); | ||
5670 | + if (res) { | ||
5671 | + printk(KERN_WARNING "%s: i2c_add_driver failed\n", client_name); | ||
5672 | + return res; | ||
5673 | + } | ||
5674 | + printk(KERN_INFO "%s: " __DATE__ "\n", client_name); | ||
5675 | + return 0; | ||
5676 | +} | ||
5677 | + | ||
5678 | +static void __exit ts_exit(void) | ||
5679 | +{ | ||
5680 | + i2c_del_driver(&ts_driver); | ||
5681 | +} | ||
5682 | + | ||
5683 | +MODULE_AUTHOR("Boundary Devices <info@boundarydevices.com>"); | ||
5684 | +MODULE_DESCRIPTION("I2C interface for FocalTech ft5x06 touch screen controller."); | ||
5685 | +MODULE_LICENSE("GPL"); | ||
5686 | + | ||
5687 | +module_init(ts_init) | ||
5688 | +module_exit(ts_exit) | ||
5689 | diff --git a/drivers/input/touchscreen/max11801_ts.c b/drivers/input/touchscreen/max11801_ts.c | ||
5690 | old mode 100755 | ||
5691 | new mode 100644 | ||
5692 | diff --git a/drivers/input/touchscreen/tsc2004.c b/drivers/input/touchscreen/tsc2004.c | ||
5693 | new file mode 100644 | ||
5694 | index 0000000..37af845 | ||
5695 | --- /dev/null | ||
5696 | +++ b/drivers/input/touchscreen/tsc2004.c | ||
5697 | @@ -0,0 +1,561 @@ | ||
5698 | +/* | ||
5699 | + * drivers/input/touchscreen/tsc2004.c | ||
5700 | + * | ||
5701 | + * Copyright (C) 2009 Texas Instruments Inc | ||
5702 | + * Author: Vaibhav Hiremath <hvaibhav@ti.com> | ||
5703 | + * | ||
5704 | + * Using code from: | ||
5705 | + * - tsc2007.c | ||
5706 | + * | ||
5707 | + * This package is free software; you can redistribute it and/or modify | ||
5708 | + * it under the terms of the GNU General Public License version 2 as | ||
5709 | + * published by the Free Software Foundation. | ||
5710 | + * | ||
5711 | + * This program is distributed in the hope that it will be useful, | ||
5712 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
5713 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
5714 | + * GNU General Public License for more details. | ||
5715 | + * | ||
5716 | + * You should have received a copy of the GNU General Public License | ||
5717 | + * along with this program; if not, write to the Free Software | ||
5718 | + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
5719 | + * | ||
5720 | + */ | ||
5721 | + | ||
5722 | +#include <linux/module.h> | ||
5723 | +#include <linux/slab.h> | ||
5724 | +#include <linux/input.h> | ||
5725 | +#include <linux/interrupt.h> | ||
5726 | +#include <linux/i2c.h> | ||
5727 | +#include <linux/i2c/tsc2007.h> | ||
5728 | + | ||
5729 | +static int calibration[7]; | ||
5730 | +module_param_array(calibration, int, NULL, S_IRUGO | S_IWUSR); | ||
5731 | + | ||
5732 | +static void translate(u16 *px, u16 *py) | ||
5733 | +{ | ||
5734 | + int x, y, x1, y1; | ||
5735 | + if (calibration[6]) { | ||
5736 | + x1 = *px; | ||
5737 | + y1 = *py; | ||
5738 | + | ||
5739 | + x = calibration[0] * x1 + | ||
5740 | + calibration[1] * y1 + | ||
5741 | + calibration[2]; | ||
5742 | + x /= calibration[6]; | ||
5743 | + if (x < 0) | ||
5744 | + x = 0; | ||
5745 | + y = calibration[3] * x1 + | ||
5746 | + calibration[4] * y1 + | ||
5747 | + calibration[5]; | ||
5748 | + y /= calibration[6]; | ||
5749 | + if (y < 0) | ||
5750 | + y = 0; | ||
5751 | + *px = x ; | ||
5752 | + *py = y ; | ||
5753 | + } | ||
5754 | +} | ||
5755 | + | ||
5756 | +#define TS_POLL_DELAY 1 /* ms delay between samples */ | ||
5757 | +#define TS_POLL_PERIOD 1 /* ms delay between samples */ | ||
5758 | + | ||
5759 | +/* Control byte 0 */ | ||
5760 | +#define TSC2004_CMD0(addr, pnd, rw) ((addr<<3)|(pnd<<1)|rw) | ||
5761 | +/* Control byte 1 */ | ||
5762 | +#define TSC2004_CMD1(cmd, mode, rst) ((1<<7)|(cmd<<4)|(mode<<2)|(rst<<1)) | ||
5763 | + | ||
5764 | +/* Command Bits */ | ||
5765 | +#define READ_REG 1 | ||
5766 | +#define WRITE_REG 0 | ||
5767 | +#define SWRST_TRUE 1 | ||
5768 | +#define SWRST_FALSE 0 | ||
5769 | +#define PND0_TRUE 1 | ||
5770 | +#define PND0_FALSE 0 | ||
5771 | + | ||
5772 | +/* Converter function mapping */ | ||
5773 | +enum convertor_function { | ||
5774 | + MEAS_X_Y_Z1_Z2, /* Measure X,Y,z1 and Z2: 0x0 */ | ||
5775 | + MEAS_X_Y, /* Measure X and Y only: 0x1 */ | ||
5776 | + MEAS_X, /* Measure X only: 0x2 */ | ||
5777 | + MEAS_Y, /* Measure Y only: 0x3 */ | ||
5778 | + MEAS_Z1_Z2, /* Measure Z1 and Z2 only: 0x4 */ | ||
5779 | + MEAS_AUX, /* Measure Auxillary input: 0x5 */ | ||
5780 | + MEAS_TEMP1, /* Measure Temparature1: 0x6 */ | ||
5781 | + MEAS_TEMP2, /* Measure Temparature2: 0x7 */ | ||
5782 | + MEAS_AUX_CONT, /* Continuously measure Auxillary input: 0x8 */ | ||
5783 | + X_DRV_TEST, /* X-Axis drivers tested 0x9 */ | ||
5784 | + Y_DRV_TEST, /* Y-Axis drivers tested 0xA */ | ||
5785 | + /*Command Reserved*/ | ||
5786 | + SHORT_CKT_TST = 0xC, /* Short circuit test: 0xC */ | ||
5787 | + XP_XN_DRV_STAT, /* X+,Y- drivers status: 0xD */ | ||
5788 | + YP_YN_DRV_STAT, /* X+,Y- drivers status: 0xE */ | ||
5789 | + YP_XN_DRV_STAT /* Y+,X- drivers status: 0xF */ | ||
5790 | +}; | ||
5791 | + | ||
5792 | +/* Register address mapping */ | ||
5793 | +enum register_address { | ||
5794 | + X_REG, /* X register: 0x0 */ | ||
5795 | + Y_REG, /* Y register: 0x1 */ | ||
5796 | + Z1_REG, /* Z1 register: 0x2 */ | ||
5797 | + Z2_REG, /* Z2 register: 0x3 */ | ||
5798 | + AUX_REG, /* AUX register: 0x4 */ | ||
5799 | + TEMP1_REG, /* Temp1 register: 0x5 */ | ||
5800 | + TEMP2_REG, /* Temp2 register: 0x6 */ | ||
5801 | + STAT_REG, /* Status Register: 0x7 */ | ||
5802 | + AUX_HGH_TH_REG, /* AUX high threshold register: 0x8 */ | ||
5803 | + AUX_LOW_TH_REG, /* AUX low threshold register: 0x9 */ | ||
5804 | + TMP_HGH_TH_REG, /* Temp high threshold register:0xA */ | ||
5805 | + TMP_LOW_TH_REG, /* Temp low threshold register: 0xB */ | ||
5806 | + CFR0_REG, /* Configuration register 0: 0xC */ | ||
5807 | + CFR1_REG, /* Configuration register 1: 0xD */ | ||
5808 | + CFR2_REG, /* Configuration register 2: 0xE */ | ||
5809 | + CONV_FN_SEL_STAT /* Convertor function select register: 0xF */ | ||
5810 | +}; | ||
5811 | + | ||
5812 | +/* Supported Resolution modes */ | ||
5813 | +enum resolution_mode { | ||
5814 | + MODE_10BIT, /* 10 bit resolution */ | ||
5815 | + MODE_12BIT /* 12 bit resolution */ | ||
5816 | +}; | ||
5817 | + | ||
5818 | +/* Configuraton register bit fields */ | ||
5819 | +/* CFR0 */ | ||
5820 | +#define PEN_STS_CTRL_MODE (1<<15) | ||
5821 | +#define ADC_STS (1<<14) | ||
5822 | +#define RES_CTRL (1<<13) | ||
5823 | +#define ADC_CLK_4MHZ (0<<11) | ||
5824 | +#define ADC_CLK_2MHZ (1<<11) | ||
5825 | +#define ADC_CLK_1MHZ (2<<11) | ||
5826 | +#define PANEL_VLTG_STB_TIME_0US (0<<8) | ||
5827 | +#define PANEL_VLTG_STB_TIME_100US (1<<8) | ||
5828 | +#define PANEL_VLTG_STB_TIME_500US (2<<8) | ||
5829 | +#define PANEL_VLTG_STB_TIME_1MS (3<<8) | ||
5830 | +#define PANEL_VLTG_STB_TIME_5MS (4<<8) | ||
5831 | +#define PANEL_VLTG_STB_TIME_10MS (5<<8) | ||
5832 | +#define PANEL_VLTG_STB_TIME_50MS (6<<8) | ||
5833 | +#define PANEL_VLTG_STB_TIME_100MS (7<<8) | ||
5834 | + | ||
5835 | +/* CFR2 */ | ||
5836 | +#define PINTS1 (1<<15) | ||
5837 | +#define PINTS0 (1<<14) | ||
5838 | +#define MEDIAN_VAL_FLTR_SIZE_1 (0<<12) | ||
5839 | +#define MEDIAN_VAL_FLTR_SIZE_3 (1<<12) | ||
5840 | +#define MEDIAN_VAL_FLTR_SIZE_7 (2<<12) | ||
5841 | +#define MEDIAN_VAL_FLTR_SIZE_15 (3<<12) | ||
5842 | +#define AVRG_VAL_FLTR_SIZE_1 (0<<10) | ||
5843 | +#define AVRG_VAL_FLTR_SIZE_3_4 (1<<10) | ||
5844 | +#define AVRG_VAL_FLTR_SIZE_7_8 (2<<10) | ||
5845 | +#define AVRG_VAL_FLTR_SIZE_16 (3<<10) | ||
5846 | +#define MAV_FLTR_EN_X (1<<4) | ||
5847 | +#define MAV_FLTR_EN_Y (1<<3) | ||
5848 | +#define MAV_FLTR_EN_Z (1<<2) | ||
5849 | + | ||
5850 | +#define MAX_12BIT ((1 << 12) - 1) | ||
5851 | +#define MEAS_MASK 0xFFF | ||
5852 | + | ||
5853 | +struct ts_event { | ||
5854 | + u16 x; | ||
5855 | + u16 y; | ||
5856 | + u16 z1, z2; | ||
5857 | +}; | ||
5858 | + | ||
5859 | +struct tsc2004 { | ||
5860 | + struct input_dev *input; | ||
5861 | + char phys[32]; | ||
5862 | + struct delayed_work work; | ||
5863 | + | ||
5864 | + struct i2c_client *client; | ||
5865 | + | ||
5866 | + u16 model; | ||
5867 | + u16 x_plate_ohms; | ||
5868 | + | ||
5869 | + bool pendown; | ||
5870 | + int irq; | ||
5871 | + | ||
5872 | + int (*get_pendown_state)(void); | ||
5873 | + void (*clear_penirq)(void); | ||
5874 | +}; | ||
5875 | + | ||
5876 | +static inline int tsc2004_read_xyz_data(struct tsc2004 *tsc, u8 cmd) | ||
5877 | +{ | ||
5878 | + s32 data; | ||
5879 | + u16 val; | ||
5880 | + | ||
5881 | + data = i2c_smbus_read_word_data(tsc->client, cmd); | ||
5882 | + if (data < 0) { | ||
5883 | + dev_err(&tsc->client->dev, "i2c io (read) error: %d\n", data); | ||
5884 | + return data; | ||
5885 | + } | ||
5886 | + | ||
5887 | + /* | ||
5888 | + * We need to swap byte order for little-endian cpus. | ||
5889 | + * 12 bit precision, high 4 bits should be zero | ||
5890 | + */ | ||
5891 | + val = be16_to_cpu(data) & 0xfff; | ||
5892 | + | ||
5893 | + dev_dbg(&tsc->client->dev, "data: 0x%x, val: 0x%x\n", data, val); | ||
5894 | + | ||
5895 | + return val; | ||
5896 | +} | ||
5897 | + | ||
5898 | +static inline int tsc2004_write_word_data(struct tsc2004 *tsc, u8 cmd, u16 data) | ||
5899 | +{ | ||
5900 | + u16 val; | ||
5901 | + | ||
5902 | + val = cpu_to_be16(data); | ||
5903 | + return i2c_smbus_write_word_data(tsc->client, cmd, val); | ||
5904 | +} | ||
5905 | + | ||
5906 | +static inline int tsc2004_write_cmd(struct tsc2004 *tsc, u8 value) | ||
5907 | +{ | ||
5908 | + return i2c_smbus_write_byte(tsc->client, value); | ||
5909 | +} | ||
5910 | + | ||
5911 | +static int tsc2004_prepare_for_reading(struct tsc2004 *ts) | ||
5912 | +{ | ||
5913 | + int err; | ||
5914 | + int cmd, data; | ||
5915 | + int retries ; | ||
5916 | + | ||
5917 | + /* Reset the TSC, configure for 12 bit */ | ||
5918 | + retries = 0 ; | ||
5919 | + do { | ||
5920 | + /* Reset the TSC, configure for 12 bit */ | ||
5921 | + cmd = TSC2004_CMD1(MEAS_X_Y_Z1_Z2, MODE_12BIT, SWRST_TRUE); | ||
5922 | + err = tsc2004_write_cmd(ts, cmd); | ||
5923 | + if (err < 0) | ||
5924 | + printk (KERN_ERR "%s: write_cmd %d\n", __func__, err ); | ||
5925 | + } while ( (err < 0) && (3 < retries++) ); | ||
5926 | + | ||
5927 | + if (err < 0) | ||
5928 | + return err ; | ||
5929 | + | ||
5930 | + /* Enable interrupt for PENIRQ and DAV */ | ||
5931 | + cmd = TSC2004_CMD0(CFR2_REG, PND0_FALSE, WRITE_REG); | ||
5932 | + data = PINTS1 | PINTS0 | MEDIAN_VAL_FLTR_SIZE_15 | | ||
5933 | + AVRG_VAL_FLTR_SIZE_7_8 | MAV_FLTR_EN_X | MAV_FLTR_EN_Y | | ||
5934 | + MAV_FLTR_EN_Z; | ||
5935 | + err = tsc2004_write_word_data(ts, cmd, data); | ||
5936 | + if (err < 0) | ||
5937 | + return err; | ||
5938 | + | ||
5939 | + /* Configure the TSC in TSMode 1 */ | ||
5940 | + cmd = TSC2004_CMD0(CFR0_REG, PND0_FALSE, WRITE_REG); | ||
5941 | + data = PEN_STS_CTRL_MODE | ADC_CLK_2MHZ | PANEL_VLTG_STB_TIME_1MS; | ||
5942 | + err = tsc2004_write_word_data(ts, cmd, data); | ||
5943 | + if (err < 0) | ||
5944 | + return err; | ||
5945 | + | ||
5946 | + /* Enable x, y, z1 and z2 conversion functions */ | ||
5947 | + cmd = TSC2004_CMD1(MEAS_X_Y_Z1_Z2, MODE_12BIT, SWRST_FALSE); | ||
5948 | + err = tsc2004_write_cmd(ts, cmd); | ||
5949 | + if (err < 0) | ||
5950 | + return err; | ||
5951 | + | ||
5952 | + return 0; | ||
5953 | +} | ||
5954 | + | ||
5955 | +static void tsc2004_read_values(struct tsc2004 *tsc, struct ts_event *tc) | ||
5956 | +{ | ||
5957 | + int cmd; | ||
5958 | + | ||
5959 | + /* Read X Measurement */ | ||
5960 | + cmd = TSC2004_CMD0(X_REG, PND0_FALSE, READ_REG); | ||
5961 | + tc->x = tsc2004_read_xyz_data(tsc, cmd); | ||
5962 | + | ||
5963 | + /* Read Y Measurement */ | ||
5964 | + cmd = TSC2004_CMD0(Y_REG, PND0_FALSE, READ_REG); | ||
5965 | + tc->y = tsc2004_read_xyz_data(tsc, cmd); | ||
5966 | + | ||
5967 | + /* Read Z1 Measurement */ | ||
5968 | + cmd = TSC2004_CMD0(Z1_REG, PND0_FALSE, READ_REG); | ||
5969 | + tc->z1 = tsc2004_read_xyz_data(tsc, cmd); | ||
5970 | + | ||
5971 | + /* Read Z2 Measurement */ | ||
5972 | + cmd = TSC2004_CMD0(Z2_REG, PND0_FALSE, READ_REG); | ||
5973 | + tc->z2 = tsc2004_read_xyz_data(tsc, cmd); | ||
5974 | + | ||
5975 | + | ||
5976 | + tc->x &= MEAS_MASK; | ||
5977 | + tc->y &= MEAS_MASK; | ||
5978 | + tc->z1 &= MEAS_MASK; | ||
5979 | + tc->z2 &= MEAS_MASK; | ||
5980 | + | ||
5981 | + /* Prepare for touch readings */ | ||
5982 | + if (tsc2004_prepare_for_reading(tsc) < 0) | ||
5983 | + dev_dbg(&tsc->client->dev, "Failed to prepare TSC for next" | ||
5984 | + "reading\n"); | ||
5985 | +} | ||
5986 | + | ||
5987 | +static u32 tsc2004_calculate_pressure(struct tsc2004 *tsc, struct ts_event *tc) | ||
5988 | +{ | ||
5989 | + u32 rt = 0; | ||
5990 | + | ||
5991 | + /* range filtering */ | ||
5992 | + if (tc->x == MAX_12BIT) | ||
5993 | + tc->x = 0; | ||
5994 | + | ||
5995 | + if (likely(tc->x && tc->z1)) { | ||
5996 | + /* compute touch pressure resistance using equation #1 */ | ||
5997 | + rt = tc->z2 - tc->z1; | ||
5998 | + rt *= tc->x; | ||
5999 | + rt *= tsc->x_plate_ohms; | ||
6000 | + rt /= tc->z1; | ||
6001 | + rt = (rt + 2047) >> 12; | ||
6002 | + } | ||
6003 | + | ||
6004 | + return rt; | ||
6005 | +} | ||
6006 | + | ||
6007 | +static void tsc2004_send_up_event(struct tsc2004 *tsc) | ||
6008 | +{ | ||
6009 | + struct input_dev *input = tsc->input; | ||
6010 | + | ||
6011 | + dev_dbg(&tsc->client->dev, "UP\n"); | ||
6012 | + | ||
6013 | + input_report_key(input, BTN_TOUCH, 0); | ||
6014 | + input_report_abs(input, ABS_PRESSURE, 0); | ||
6015 | + input_sync(input); | ||
6016 | +} | ||
6017 | + | ||
6018 | +static void tsc2004_work(struct work_struct *work) | ||
6019 | +{ | ||
6020 | + struct tsc2004 *ts = | ||
6021 | + container_of(to_delayed_work(work), struct tsc2004, work); | ||
6022 | + struct ts_event tc; | ||
6023 | + u32 rt; | ||
6024 | + | ||
6025 | + /* | ||
6026 | + * NOTE: We can't rely on the pressure to determine the pen down | ||
6027 | + * state, even though this controller has a pressure sensor. | ||
6028 | + * The pressure value can fluctuate for quite a while after | ||
6029 | + * lifting the pen and in some cases may not even settle at the | ||
6030 | + * expected value. | ||
6031 | + * | ||
6032 | + * The only safe way to check for the pen up condition is in the | ||
6033 | + * work function by reading the pen signal state (it's a GPIO | ||
6034 | + * and IRQ). Unfortunately such callback is not always available, | ||
6035 | + * in that case we have rely on the pressure anyway. | ||
6036 | + */ | ||
6037 | + if (ts->get_pendown_state) { | ||
6038 | + if (unlikely(!ts->get_pendown_state())) { | ||
6039 | + tsc2004_send_up_event(ts); | ||
6040 | + ts->pendown = false; | ||
6041 | + goto out; | ||
6042 | + } | ||
6043 | + | ||
6044 | + dev_dbg(&ts->client->dev, "pen is still down\n"); | ||
6045 | + } | ||
6046 | + | ||
6047 | + tsc2004_read_values(ts, &tc); | ||
6048 | + | ||
6049 | + rt = tsc2004_calculate_pressure(ts, &tc); | ||
6050 | + if (rt > MAX_12BIT) { | ||
6051 | + /* | ||
6052 | + * Sample found inconsistent by debouncing or pressure is | ||
6053 | + * beyond the maximum. Don't report it to user space, | ||
6054 | + * repeat at least once more the measurement. | ||
6055 | + */ | ||
6056 | + dev_dbg(&ts->client->dev, "ignored pressure %d\n", rt); | ||
6057 | + goto out; | ||
6058 | + | ||
6059 | + } | ||
6060 | + | ||
6061 | + if (rt) { | ||
6062 | + struct input_dev *input = ts->input; | ||
6063 | + | ||
6064 | + translate(&tc.x, &tc.y); | ||
6065 | + | ||
6066 | + if (!ts->pendown) { | ||
6067 | + dev_dbg(&ts->client->dev, "DOWN\n"); | ||
6068 | + | ||
6069 | + input_report_key(input, BTN_TOUCH, 1); | ||
6070 | + ts->pendown = true; | ||
6071 | + } | ||
6072 | + | ||
6073 | + input_report_abs(input, ABS_X, tc.x); | ||
6074 | + input_report_abs(input, ABS_Y, tc.y); | ||
6075 | + input_report_abs(input, ABS_PRESSURE, rt); | ||
6076 | + | ||
6077 | + input_sync(input); | ||
6078 | + | ||
6079 | + dev_dbg(&ts->client->dev, "point(%4d,%4d), pressure (%4u)\n", | ||
6080 | + tc.x, tc.y, rt); | ||
6081 | + | ||
6082 | + } else if (!ts->get_pendown_state && ts->pendown) { | ||
6083 | + /* | ||
6084 | + * We don't have callback to check pendown state, so we | ||
6085 | + * have to assume that since pressure reported is 0 the | ||
6086 | + * pen was lifted up. | ||
6087 | + */ | ||
6088 | + tsc2004_send_up_event(ts); | ||
6089 | + ts->pendown = false; | ||
6090 | + } | ||
6091 | + | ||
6092 | + out: | ||
6093 | + if (ts->pendown) | ||
6094 | + schedule_delayed_work(&ts->work, | ||
6095 | + msecs_to_jiffies(TS_POLL_PERIOD)); | ||
6096 | + else | ||
6097 | + enable_irq(ts->irq); | ||
6098 | +} | ||
6099 | + | ||
6100 | +static irqreturn_t tsc2004_irq(int irq, void *handle) | ||
6101 | +{ | ||
6102 | + struct tsc2004 *ts = handle; | ||
6103 | + | ||
6104 | + if (!ts->get_pendown_state || likely(ts->get_pendown_state())) { | ||
6105 | + disable_irq_nosync(ts->irq); | ||
6106 | + schedule_delayed_work(&ts->work, | ||
6107 | + msecs_to_jiffies(TS_POLL_DELAY)); | ||
6108 | + } | ||
6109 | + | ||
6110 | + if (ts->clear_penirq) | ||
6111 | + ts->clear_penirq(); | ||
6112 | + | ||
6113 | + return IRQ_HANDLED; | ||
6114 | +} | ||
6115 | + | ||
6116 | +static void tsc2004_free_irq(struct tsc2004 *ts) | ||
6117 | +{ | ||
6118 | + free_irq(ts->irq, ts); | ||
6119 | + if (cancel_delayed_work_sync(&ts->work)) { | ||
6120 | + /* | ||
6121 | + * Work was pending, therefore we need to enable | ||
6122 | + * IRQ here to balance the disable_irq() done in the | ||
6123 | + * interrupt handler. | ||
6124 | + */ | ||
6125 | + enable_irq(ts->irq); | ||
6126 | + } | ||
6127 | +} | ||
6128 | + | ||
6129 | +static int __devinit tsc2004_probe(struct i2c_client *client, | ||
6130 | + const struct i2c_device_id *id) | ||
6131 | +{ | ||
6132 | + struct tsc2004 *ts; | ||
6133 | + struct tsc2007_platform_data *pdata = pdata = client->dev.platform_data; | ||
6134 | + struct input_dev *input_dev; | ||
6135 | + int err; | ||
6136 | + | ||
6137 | + if (!pdata) { | ||
6138 | + dev_err(&client->dev, "platform data is required!\n"); | ||
6139 | + return -EINVAL; | ||
6140 | + } | ||
6141 | + | ||
6142 | + if (!i2c_check_functionality(client->adapter, | ||
6143 | + I2C_FUNC_SMBUS_READ_WORD_DATA)) | ||
6144 | + return -EIO; | ||
6145 | + | ||
6146 | + ts = kzalloc(sizeof(struct tsc2004), GFP_KERNEL); | ||
6147 | + input_dev = input_allocate_device(); | ||
6148 | + if (!ts || !input_dev) { | ||
6149 | + err = -ENOMEM; | ||
6150 | + goto err_free_mem; | ||
6151 | + } | ||
6152 | + | ||
6153 | + ts->client = client; | ||
6154 | + ts->irq = client->irq; | ||
6155 | + ts->input = input_dev; | ||
6156 | + INIT_DELAYED_WORK(&ts->work, tsc2004_work); | ||
6157 | + | ||
6158 | + ts->model = pdata->model; | ||
6159 | + ts->x_plate_ohms = pdata->x_plate_ohms; | ||
6160 | + ts->get_pendown_state = pdata->get_pendown_state; | ||
6161 | + ts->clear_penirq = pdata->clear_penirq; | ||
6162 | + | ||
6163 | + snprintf(ts->phys, sizeof(ts->phys), | ||
6164 | + "%s/input0", dev_name(&client->dev)); | ||
6165 | + | ||
6166 | + input_dev->name = "tsc2004"; | ||
6167 | + input_dev->phys = ts->phys; | ||
6168 | + input_dev->id.bustype = BUS_I2C; | ||
6169 | + | ||
6170 | + input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); | ||
6171 | + input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH); | ||
6172 | + | ||
6173 | + input_set_abs_params(input_dev, ABS_X, 0, MAX_12BIT, 0, 0); | ||
6174 | + input_set_abs_params(input_dev, ABS_Y, 0, MAX_12BIT, 0, 0); | ||
6175 | + input_set_abs_params(input_dev, ABS_PRESSURE, 0, MAX_12BIT, 0, 0); | ||
6176 | + | ||
6177 | + if (pdata->init_platform_hw) | ||
6178 | + pdata->init_platform_hw(); | ||
6179 | + | ||
6180 | + err = request_irq(ts->irq, tsc2004_irq, IRQF_TRIGGER_FALLING, | ||
6181 | + client->dev.driver->name, ts); | ||
6182 | + if (err < 0) { | ||
6183 | + dev_err(&client->dev, "irq %d busy?\n", ts->irq); | ||
6184 | + goto err_free_mem; | ||
6185 | + } | ||
6186 | + | ||
6187 | + /* Prepare for touch readings */ | ||
6188 | + err = tsc2004_prepare_for_reading(ts); | ||
6189 | + if (err < 0) | ||
6190 | + goto err_free_irq; | ||
6191 | + | ||
6192 | + err = input_register_device(input_dev); | ||
6193 | + if (err) | ||
6194 | + goto err_free_irq; | ||
6195 | + | ||
6196 | + i2c_set_clientdata(client, ts); | ||
6197 | + | ||
6198 | + return 0; | ||
6199 | + | ||
6200 | + err_free_irq: | ||
6201 | + tsc2004_free_irq(ts); | ||
6202 | + if (pdata->exit_platform_hw) | ||
6203 | + pdata->exit_platform_hw(); | ||
6204 | + err_free_mem: | ||
6205 | + input_free_device(input_dev); | ||
6206 | + kfree(ts); | ||
6207 | + return err; | ||
6208 | +} | ||
6209 | + | ||
6210 | +static int __devexit tsc2004_remove(struct i2c_client *client) | ||
6211 | +{ | ||
6212 | + struct tsc2004 *ts = i2c_get_clientdata(client); | ||
6213 | + struct tsc2007_platform_data *pdata = client->dev.platform_data; | ||
6214 | + | ||
6215 | + tsc2004_free_irq(ts); | ||
6216 | + | ||
6217 | + if (pdata->exit_platform_hw) | ||
6218 | + pdata->exit_platform_hw(); | ||
6219 | + | ||
6220 | + input_unregister_device(ts->input); | ||
6221 | + kfree(ts); | ||
6222 | + | ||
6223 | + return 0; | ||
6224 | +} | ||
6225 | + | ||
6226 | +static struct i2c_device_id tsc2004_idtable[] = { | ||
6227 | + { "tsc2004", 0 }, | ||
6228 | + { } | ||
6229 | +}; | ||
6230 | + | ||
6231 | +MODULE_DEVICE_TABLE(i2c, tsc2004_idtable); | ||
6232 | + | ||
6233 | +static struct i2c_driver tsc2004_driver = { | ||
6234 | + .driver = { | ||
6235 | + .owner = THIS_MODULE, | ||
6236 | + .name = "tsc2004" | ||
6237 | + }, | ||
6238 | + .id_table = tsc2004_idtable, | ||
6239 | + .probe = tsc2004_probe, | ||
6240 | + .remove = __devexit_p(tsc2004_remove), | ||
6241 | +}; | ||
6242 | + | ||
6243 | +static int __init tsc2004_init(void) | ||
6244 | +{ | ||
6245 | + return i2c_add_driver(&tsc2004_driver); | ||
6246 | +} | ||
6247 | + | ||
6248 | +static void __exit tsc2004_exit(void) | ||
6249 | +{ | ||
6250 | + i2c_del_driver(&tsc2004_driver); | ||
6251 | +} | ||
6252 | + | ||
6253 | +module_init(tsc2004_init); | ||
6254 | +module_exit(tsc2004_exit); | ||
6255 | + | ||
6256 | +MODULE_AUTHOR("Vaibhav Hiremath <hvaibhav@ti.com>"); | ||
6257 | +MODULE_DESCRIPTION("TSC2004 TouchScreen Driver"); | ||
6258 | +MODULE_LICENSE("GPL"); | ||
6259 | diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig | ||
6260 | old mode 100755 | ||
6261 | new mode 100644 | ||
6262 | diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile | ||
6263 | old mode 100755 | ||
6264 | new mode 100644 | ||
6265 | diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig | ||
6266 | old mode 100755 | ||
6267 | new mode 100644 | ||
6268 | diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile | ||
6269 | old mode 100755 | ||
6270 | new mode 100644 | ||
6271 | diff --git a/drivers/mfd/da9052-core.c b/drivers/mfd/da9052-core.c | ||
6272 | old mode 100755 | ||
6273 | new mode 100644 | ||
6274 | diff --git a/drivers/mfd/da9052-i2c.c b/drivers/mfd/da9052-i2c.c | ||
6275 | old mode 100755 | ||
6276 | new mode 100644 | ||
6277 | diff --git a/drivers/mmc/core/sdio_cis.c b/drivers/mmc/core/sdio_cis.c | ||
6278 | index 541bdb8..3b0ca83 100644 | ||
6279 | --- a/drivers/mmc/core/sdio_cis.c | ||
6280 | +++ b/drivers/mmc/core/sdio_cis.c | ||
6281 | @@ -230,6 +230,7 @@ static int sdio_read_cis(struct mmc_card *card, struct sdio_func *func) | ||
6282 | int ret; | ||
6283 | struct sdio_func_tuple *this, **prev; | ||
6284 | unsigned i, ptr = 0; | ||
6285 | + unsigned ptr_null_end; | ||
6286 | |||
6287 | /* | ||
6288 | * Note that this works for the common CIS (function number 0) as | ||
6289 | @@ -258,6 +259,7 @@ static int sdio_read_cis(struct mmc_card *card, struct sdio_func *func) | ||
6290 | |||
6291 | BUG_ON(*prev); | ||
6292 | |||
6293 | + ptr_null_end = (ptr | 0xff) + 1; | ||
6294 | do { | ||
6295 | unsigned char tpl_code, tpl_link; | ||
6296 | |||
6297 | @@ -269,6 +271,9 @@ static int sdio_read_cis(struct mmc_card *card, struct sdio_func *func) | ||
6298 | if (tpl_code == 0xff) | ||
6299 | break; | ||
6300 | |||
6301 | + if ((tpl_code == 0x00) && (ptr == ptr_null_end)) | ||
6302 | + break; /* patch for misbehaving rtl8712 card */ | ||
6303 | + | ||
6304 | /* null entries have no link field or data */ | ||
6305 | if (tpl_code == 0x00) | ||
6306 | continue; | ||
6307 | @@ -282,9 +287,10 @@ static int sdio_read_cis(struct mmc_card *card, struct sdio_func *func) | ||
6308 | break; | ||
6309 | |||
6310 | this = kmalloc(sizeof(*this) + tpl_link, GFP_KERNEL); | ||
6311 | - if (!this) | ||
6312 | - return -ENOMEM; | ||
6313 | - | ||
6314 | + if (!this) { | ||
6315 | + ret = -ENOMEM; | ||
6316 | + break; | ||
6317 | + } | ||
6318 | for (i = 0; i < tpl_link; i++) { | ||
6319 | ret = mmc_io_rw_direct(card, 0, 0, | ||
6320 | ptr + i, 0, &this->data[i]); | ||
6321 | @@ -328,6 +334,12 @@ static int sdio_read_cis(struct mmc_card *card, struct sdio_func *func) | ||
6322 | * not going to be queued for a driver. | ||
6323 | */ | ||
6324 | kfree(this); | ||
6325 | + if (ret) { | ||
6326 | + printk(KERN_WARNING "%s: dropping invalid" | ||
6327 | + " CIS tuple 0x%02x (%u bytes)\n", | ||
6328 | + mmc_hostname(card->host), | ||
6329 | + tpl_code, tpl_link); | ||
6330 | + } | ||
6331 | } | ||
6332 | |||
6333 | ptr += tpl_link; | ||
6334 | diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c | ||
6335 | index e173686..2e3330c 100644 | ||
6336 | --- a/drivers/mmc/host/sdhci-esdhc-imx.c | ||
6337 | +++ b/drivers/mmc/host/sdhci-esdhc-imx.c | ||
6338 | @@ -849,6 +849,7 @@ static int esdhc_pltfm_init(struct sdhci_host *host, struct sdhci_pltfm_data *pd | ||
6339 | host->ocr_avail_sd |= MMC_VDD_165_195; | ||
6340 | if (boarddata->support_8bit) | ||
6341 | host->mmc->caps |= MMC_CAP_8_BIT_DATA; | ||
6342 | + host->mmc->caps |= boarddata->caps; | ||
6343 | if (boarddata->keep_power_at_suspend) | ||
6344 | host->mmc->pm_caps |= (MMC_PM_KEEP_POWER | \ | ||
6345 | MMC_PM_WAKE_SDIO_IRQ); | ||
6346 | diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c | ||
6347 | old mode 100755 | ||
6348 | new mode 100644 | ||
6349 | diff --git a/drivers/mxc/mlb/mxc_mlb150.c b/drivers/mxc/mlb/mxc_mlb150.c | ||
6350 | old mode 100755 | ||
6351 | new mode 100644 | ||
6352 | diff --git a/drivers/net/fec.c b/drivers/net/fec.c | ||
6353 | old mode 100755 | ||
6354 | new mode 100644 | ||
6355 | index 5af378f..c92bca0 | ||
6356 | --- a/drivers/net/fec.c | ||
6357 | +++ b/drivers/net/fec.c | ||
6358 | @@ -1054,7 +1054,7 @@ static int fec_enet_mii_probe(struct net_device *ndev) | ||
6359 | return 0; | ||
6360 | } | ||
6361 | |||
6362 | -static int fec_enet_mii_init(struct platform_device *pdev) | ||
6363 | +static int fec_enet_mii_init(struct platform_device *pdev, int phy_irq) | ||
6364 | { | ||
6365 | static struct mii_bus *fec0_mii_bus; | ||
6366 | struct net_device *ndev = platform_get_drvdata(pdev); | ||
6367 | @@ -1120,7 +1120,7 @@ static int fec_enet_mii_init(struct platform_device *pdev) | ||
6368 | } | ||
6369 | |||
6370 | for (i = 0; i < PHY_MAX_ADDR; i++) | ||
6371 | - fep->mii_bus->irq[i] = PHY_POLL; | ||
6372 | + fep->mii_bus->irq[i] = phy_irq; | ||
6373 | |||
6374 | if (mdiobus_register(fep->mii_bus)) | ||
6375 | goto err_out_free_mdio_irq; | ||
6376 | @@ -1772,6 +1772,7 @@ fec_probe(struct platform_device *pdev) | ||
6377 | struct net_device *ndev; | ||
6378 | int i, irq, ret = 0; | ||
6379 | struct resource *r; | ||
6380 | + int phy_irq = PHY_POLL; | ||
6381 | |||
6382 | r = platform_get_resource(pdev, IORESOURCE_MEM, 0); | ||
6383 | if (!r) | ||
6384 | @@ -1804,8 +1805,11 @@ fec_probe(struct platform_device *pdev) | ||
6385 | platform_set_drvdata(pdev, ndev); | ||
6386 | |||
6387 | pdata = pdev->dev.platform_data; | ||
6388 | - if (pdata) | ||
6389 | + if (pdata) { | ||
6390 | fep->phy_interface = pdata->phy; | ||
6391 | + if (pdata->phy_irq) | ||
6392 | + phy_irq = pdata->phy_irq; | ||
6393 | + } | ||
6394 | |||
6395 | /* This device has up to three irqs on some platforms */ | ||
6396 | for (i = 0; i < 3; i++) { | ||
6397 | @@ -1833,7 +1837,7 @@ fec_probe(struct platform_device *pdev) | ||
6398 | if (ret) | ||
6399 | goto failed_init; | ||
6400 | |||
6401 | - ret = fec_enet_mii_init(pdev); | ||
6402 | + ret = fec_enet_mii_init(pdev, phy_irq); | ||
6403 | if (ret) | ||
6404 | goto failed_mii_init; | ||
6405 | |||
6406 | diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c | ||
6407 | index 80747d2..6eafb5c 100644 | ||
6408 | --- a/drivers/net/phy/micrel.c | ||
6409 | +++ b/drivers/net/phy/micrel.c | ||
6410 | @@ -16,6 +16,7 @@ | ||
6411 | * ks8001, ks8737, ks8721, ks8041, ks8051 100/10 phy | ||
6412 | */ | ||
6413 | |||
6414 | +#include <linux/delay.h> | ||
6415 | #include <linux/kernel.h> | ||
6416 | #include <linux/module.h> | ||
6417 | #include <linux/phy.h> | ||
6418 | @@ -48,16 +49,34 @@ static int kszphy_ack_interrupt(struct phy_device *phydev) | ||
6419 | int rc; | ||
6420 | |||
6421 | rc = phy_read(phydev, MII_KSZPHY_INTCS); | ||
6422 | - | ||
6423 | return (rc < 0) ? rc : 0; | ||
6424 | } | ||
6425 | |||
6426 | static int kszphy_set_interrupt(struct phy_device *phydev) | ||
6427 | { | ||
6428 | - int temp; | ||
6429 | - temp = (PHY_INTERRUPT_ENABLED == phydev->interrupts) ? | ||
6430 | - KSZPHY_INTCS_ALL : 0; | ||
6431 | - return phy_write(phydev, MII_KSZPHY_INTCS, temp); | ||
6432 | + int bmcr, new_bmcr; | ||
6433 | + bmcr = phy_read(phydev, MII_BMCR); | ||
6434 | + if (PHY_INTERRUPT_ENABLED == phydev->interrupts) { | ||
6435 | + new_bmcr = bmcr & ~BMCR_PDOWN; | ||
6436 | + if (bmcr != new_bmcr) { | ||
6437 | + unsigned intcs, temp; | ||
6438 | + phy_write(phydev, MII_BMCR, new_bmcr); | ||
6439 | + udelay(100); /* power up needs delay after */ | ||
6440 | + /* force master mode */ | ||
6441 | + phy_write(phydev, 0x9, 0x1f00); | ||
6442 | + } | ||
6443 | + return phy_write(phydev, MII_KSZPHY_INTCS, KSZPHY_INTCS_ALL); | ||
6444 | + } else { | ||
6445 | + phy_write(phydev, MII_KSZPHY_INTCS, 0); | ||
6446 | + new_bmcr = bmcr | BMCR_PDOWN; | ||
6447 | + if ((PHY_HALTED == phydev->state) && (bmcr != new_bmcr)) { | ||
6448 | + phy_write(phydev, MII_BMCR, bmcr | BMCR_ANRESTART); | ||
6449 | + /* let phy note link is down before poweroff */ | ||
6450 | + udelay(10); | ||
6451 | + phy_write(phydev, MII_BMCR, new_bmcr); | ||
6452 | + } | ||
6453 | + return 0; | ||
6454 | + } | ||
6455 | } | ||
6456 | |||
6457 | static int kszphy_config_intr(struct phy_device *phydev) | ||
6458 | @@ -66,8 +85,10 @@ static int kszphy_config_intr(struct phy_device *phydev) | ||
6459 | |||
6460 | /* set the interrupt pin active low */ | ||
6461 | temp = phy_read(phydev, MII_KSZPHY_CTRL); | ||
6462 | - temp &= ~KSZPHY_CTRL_INT_ACTIVE_HIGH; | ||
6463 | - phy_write(phydev, MII_KSZPHY_CTRL, temp); | ||
6464 | + if (temp & KSZPHY_CTRL_INT_ACTIVE_HIGH) { | ||
6465 | + temp &= ~KSZPHY_CTRL_INT_ACTIVE_HIGH; | ||
6466 | + phy_write(phydev, MII_KSZPHY_CTRL, temp); | ||
6467 | + } | ||
6468 | rc = kszphy_set_interrupt(phydev); | ||
6469 | return rc < 0 ? rc : 0; | ||
6470 | } | ||
6471 | @@ -76,10 +97,12 @@ static int ksz9021_config_intr(struct phy_device *phydev) | ||
6472 | { | ||
6473 | int temp, rc; | ||
6474 | |||
6475 | - /* set the interrupt pin active low */ | ||
6476 | temp = phy_read(phydev, MII_KSZPHY_CTRL); | ||
6477 | - temp &= ~KSZ9021_CTRL_INT_ACTIVE_HIGH; | ||
6478 | - phy_write(phydev, MII_KSZPHY_CTRL, temp); | ||
6479 | + if (temp & KSZ9021_CTRL_INT_ACTIVE_HIGH) { | ||
6480 | + /* set the interrupt pin active low */ | ||
6481 | + temp &= ~KSZ9021_CTRL_INT_ACTIVE_HIGH; | ||
6482 | + phy_write(phydev, MII_KSZPHY_CTRL, temp); | ||
6483 | + } | ||
6484 | rc = kszphy_set_interrupt(phydev); | ||
6485 | return rc < 0 ? rc : 0; | ||
6486 | } | ||
6487 | diff --git a/drivers/net/wireless/wl12xx/Kconfig b/drivers/net/wireless/wl12xx/Kconfig | ||
6488 | index 35ce7b0..1dc6a47 100644 | ||
6489 | --- a/drivers/net/wireless/wl12xx/Kconfig | ||
6490 | +++ b/drivers/net/wireless/wl12xx/Kconfig | ||
6491 | @@ -1,6 +1,7 @@ | ||
6492 | menuconfig WL12XX_MENU | ||
6493 | tristate "TI wl12xx driver support" | ||
6494 | depends on MAC80211 && EXPERIMENTAL | ||
6495 | + select WEXT_PRIV | ||
6496 | ---help--- | ||
6497 | This will enable TI wl12xx driver support for the following chips: | ||
6498 | wl1271, wl1273, wl1281 and wl1283. | ||
6499 | @@ -12,6 +13,7 @@ config WL12XX | ||
6500 | depends on INET | ||
6501 | select FW_LOADER | ||
6502 | select CRC7 | ||
6503 | + select WIRELESS_EXT | ||
6504 | ---help--- | ||
6505 | This module adds support for wireless adapters based on TI wl1271 and | ||
6506 | TI wl1273 chipsets. This module does *not* include support for wl1251. | ||
6507 | diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c | ||
6508 | index e6497dc..f1ffec0 100644 | ||
6509 | --- a/drivers/net/wireless/wl12xx/main.c | ||
6510 | +++ b/drivers/net/wireless/wl12xx/main.c | ||
6511 | @@ -1767,6 +1767,8 @@ static void wl1271_op_remove_interface(struct ieee80211_hw *hw, | ||
6512 | |||
6513 | mutex_unlock(&wl->mutex); | ||
6514 | cancel_work_sync(&wl->recovery_work); | ||
6515 | + if (wl->set_power) | ||
6516 | + wl->set_power(0); | ||
6517 | } | ||
6518 | |||
6519 | void wl1271_configure_filters(struct wl1271 *wl, unsigned int filters) | ||
6520 | @@ -3781,9 +3783,39 @@ static ssize_t wl1271_sysfs_show_hw_pg_ver(struct device *dev, | ||
6521 | static DEVICE_ATTR(hw_pg_ver, S_IRUGO | S_IWUSR, | ||
6522 | wl1271_sysfs_show_hw_pg_ver, NULL); | ||
6523 | |||
6524 | + | ||
6525 | +static int parse_mac(unsigned char *mac, unsigned char const *str_mac) | ||
6526 | +{ | ||
6527 | + int i = 0; | ||
6528 | + char *end; | ||
6529 | + int ret = -EINVAL; | ||
6530 | + | ||
6531 | + for (;;) { | ||
6532 | + mac[i++] = simple_strtoul(str_mac, &end, 16); | ||
6533 | + if (i == 6) { | ||
6534 | + if (!*end || (*end == ' ')) | ||
6535 | + ret = 0; | ||
6536 | + break; | ||
6537 | + } | ||
6538 | + str_mac = end + 1; | ||
6539 | + if ((*end != '-') && (*end != ':')) | ||
6540 | + break; | ||
6541 | + } | ||
6542 | + return ret; | ||
6543 | +} | ||
6544 | + | ||
6545 | +static char *mac; | ||
6546 | +module_param(mac, charp, S_IRUGO); | ||
6547 | +MODULE_PARM_DESC(mac, "mac address override"); | ||
6548 | + | ||
6549 | int wl1271_register_hw(struct wl1271 *wl) | ||
6550 | { | ||
6551 | int ret; | ||
6552 | + u8 override_mac[ETH_ALEN]; | ||
6553 | + memset(override_mac, 0, ETH_ALEN); | ||
6554 | + if (mac) | ||
6555 | + if (parse_mac(override_mac, mac)) | ||
6556 | + memset(override_mac, 0, ETH_ALEN); | ||
6557 | |||
6558 | if (wl->mac80211_registered) | ||
6559 | return 0; | ||
6560 | @@ -3804,6 +3836,9 @@ int wl1271_register_hw(struct wl1271 *wl) | ||
6561 | wl->mac_addr[5] = nvs_ptr[3]; | ||
6562 | } | ||
6563 | |||
6564 | + if (is_valid_ether_addr(override_mac)) | ||
6565 | + memcpy(wl->mac_addr, override_mac, sizeof(wl->mac_addr)); | ||
6566 | + | ||
6567 | SET_IEEE80211_PERM_ADDR(wl->hw, wl->mac_addr); | ||
6568 | |||
6569 | ret = ieee80211_register_hw(wl->hw); | ||
6570 | diff --git a/drivers/net/wireless/wl12xx/sdio.c b/drivers/net/wireless/wl12xx/sdio.c | ||
6571 | index 536e506..5bd82f2 100644 | ||
6572 | --- a/drivers/net/wireless/wl12xx/sdio.c | ||
6573 | +++ b/drivers/net/wireless/wl12xx/sdio.c | ||
6574 | @@ -303,6 +303,7 @@ static int __devinit wl1271_probe(struct sdio_func *func, | ||
6575 | /* Tell PM core that we don't need the card to be powered now */ | ||
6576 | pm_runtime_put_noidle(&func->dev); | ||
6577 | |||
6578 | + wl->set_power = wlan_data->set_power; | ||
6579 | wl1271_notice("initialized"); | ||
6580 | |||
6581 | return 0; | ||
6582 | diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig | ||
6583 | old mode 100755 | ||
6584 | new mode 100644 | ||
6585 | diff --git a/drivers/power/Makefile b/drivers/power/Makefile | ||
6586 | old mode 100755 | ||
6587 | new mode 100644 | ||
6588 | diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig | ||
6589 | old mode 100755 | ||
6590 | new mode 100644 | ||
6591 | diff --git a/drivers/regulator/Makefile b/drivers/regulator/Makefile | ||
6592 | old mode 100755 | ||
6593 | new mode 100644 | ||
6594 | diff --git a/drivers/regulator/da9052-regulator.c b/drivers/regulator/da9052-regulator.c | ||
6595 | old mode 100755 | ||
6596 | new mode 100644 | ||
6597 | diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig | ||
6598 | old mode 100755 | ||
6599 | new mode 100644 | ||
6600 | diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile | ||
6601 | old mode 100755 | ||
6602 | new mode 100644 | ||
6603 | diff --git a/drivers/rtc/rtc-da9052.c b/drivers/rtc/rtc-da9052.c | ||
6604 | old mode 100755 | ||
6605 | new mode 100644 | ||
6606 | diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c | ||
6607 | index 8a66f3e..96df580 100644 | ||
6608 | --- a/drivers/tty/serial/imx.c | ||
6609 | +++ b/drivers/tty/serial/imx.c | ||
6610 | @@ -1212,9 +1212,12 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios, | ||
6611 | { | ||
6612 | struct imx_port *sport = (struct imx_port *)port; | ||
6613 | unsigned long flags; | ||
6614 | - unsigned int ucr2, old_ucr1, old_txrxen, baud, quot; | ||
6615 | + unsigned new_ucr2, old_ucr2; | ||
6616 | + unsigned new_ufcr, old_ufcr; | ||
6617 | + unsigned old_ubir, old_ubmr; | ||
6618 | + unsigned int baud, quot; | ||
6619 | unsigned int old_csize = old ? old->c_cflag & CSIZE : CS8; | ||
6620 | - unsigned int div, ufcr; | ||
6621 | + unsigned int div; | ||
6622 | unsigned long num, denom; | ||
6623 | uint64_t tdiv64; | ||
6624 | |||
6625 | @@ -1237,26 +1240,25 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios, | ||
6626 | old_csize = CS8; | ||
6627 | } | ||
6628 | |||
6629 | + new_ucr2 = UCR2_SRST | UCR2_IRTS; | ||
6630 | if ((termios->c_cflag & CSIZE) == CS8) | ||
6631 | - ucr2 = UCR2_WS | UCR2_SRST | UCR2_IRTS; | ||
6632 | - else | ||
6633 | - ucr2 = UCR2_SRST | UCR2_IRTS; | ||
6634 | + new_ucr2 |= UCR2_WS; | ||
6635 | |||
6636 | if (termios->c_cflag & CRTSCTS) { | ||
6637 | if( sport->have_rtscts ) { | ||
6638 | - ucr2 &= ~UCR2_IRTS; | ||
6639 | - ucr2 |= UCR2_CTSC; | ||
6640 | + new_ucr2 &= ~UCR2_IRTS; | ||
6641 | + new_ucr2 |= UCR2_CTSC; | ||
6642 | } else { | ||
6643 | termios->c_cflag &= ~CRTSCTS; | ||
6644 | } | ||
6645 | } | ||
6646 | |||
6647 | if (termios->c_cflag & CSTOPB) | ||
6648 | - ucr2 |= UCR2_STPB; | ||
6649 | + new_ucr2 |= UCR2_STPB; | ||
6650 | if (termios->c_cflag & PARENB) { | ||
6651 | - ucr2 |= UCR2_PREN; | ||
6652 | + new_ucr2 |= UCR2_PREN; | ||
6653 | if (termios->c_cflag & PARODD) | ||
6654 | - ucr2 |= UCR2_PROE; | ||
6655 | + new_ucr2 |= UCR2_PROE; | ||
6656 | } | ||
6657 | |||
6658 | /* | ||
6659 | @@ -1269,7 +1271,7 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios, | ||
6660 | |||
6661 | spin_lock_irqsave(&sport->port.lock, flags); | ||
6662 | |||
6663 | - sport->port.read_status_mask = 0; | ||
6664 | + sport->port.read_status_mask = 0xff; | ||
6665 | if (termios->c_iflag & INPCK) | ||
6666 | sport->port.read_status_mask |= (URXD_FRMERR | URXD_PRERR); | ||
6667 | if (termios->c_iflag & (BRKINT | PARMRK)) | ||
6668 | @@ -1296,22 +1298,6 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios, | ||
6669 | */ | ||
6670 | uart_update_timeout(port, termios->c_cflag, baud); | ||
6671 | |||
6672 | - /* | ||
6673 | - * disable interrupts and drain transmitter | ||
6674 | - */ | ||
6675 | - old_ucr1 = readl(sport->port.membase + UCR1); | ||
6676 | - writel(old_ucr1 & ~(UCR1_TXMPTYEN | UCR1_RRDYEN | UCR1_RTSDEN), | ||
6677 | - sport->port.membase + UCR1); | ||
6678 | - | ||
6679 | - while ( !(readl(sport->port.membase + USR2) & USR2_TXDC)) | ||
6680 | - barrier(); | ||
6681 | - | ||
6682 | - /* then, disable everything */ | ||
6683 | - old_txrxen = readl(sport->port.membase + UCR2); | ||
6684 | - writel(old_txrxen & ~( UCR2_TXEN | UCR2_RXEN), | ||
6685 | - sport->port.membase + UCR2); | ||
6686 | - old_txrxen &= (UCR2_TXEN | UCR2_RXEN); | ||
6687 | - | ||
6688 | if (USE_IRDA(sport)) { | ||
6689 | /* | ||
6690 | * use maximum available submodule frequency to | ||
6691 | @@ -1338,31 +1324,47 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios, | ||
6692 | num -= 1; | ||
6693 | denom -= 1; | ||
6694 | |||
6695 | - ufcr = readl(sport->port.membase + UFCR); | ||
6696 | - ufcr = (ufcr & (~UFCR_RFDIV)) | UFCR_RFDIV_REG(div); | ||
6697 | + old_ufcr = readl(sport->port.membase + UFCR); | ||
6698 | + new_ufcr = (old_ufcr & (~UFCR_RFDIV)) | UFCR_RFDIV_REG(div); | ||
6699 | |||
6700 | - if (sport->use_dcedte) | ||
6701 | - ufcr |= UFCR_DCEDTE; | ||
6702 | - | ||
6703 | - writel(ufcr, sport->port.membase + UFCR); | ||
6704 | + old_ubir = readl(sport->port.membase + UBIR); | ||
6705 | + old_ubmr = readl(sport->port.membase + UBMR); | ||
6706 | + old_ucr2 = readl(sport->port.membase + UCR2) & ~UCR2_CTS; | ||
6707 | + new_ucr2 |= old_ucr2 & (UCR2_TXEN | UCR2_RXEN); | ||
6708 | |||
6709 | - writel(num, sport->port.membase + UBIR); | ||
6710 | - writel(denom, sport->port.membase + UBMR); | ||
6711 | + if (sport->use_dcedte) | ||
6712 | + new_ufcr |= UFCR_DCEDTE; | ||
6713 | + if ((old_ufcr != new_ufcr) || (old_ucr2 != new_ucr2) || | ||
6714 | + (old_ubir != num) || (old_ubmr != denom)) { | ||
6715 | + int i; | ||
6716 | + /* software reset */ | ||
6717 | + writel(readl(sport->port.membase + UCR2) & | ||
6718 | + ~(UCR2_TXEN | UCR2_RXEN | UCR2_SRST | UCR2_CTS), | ||
6719 | + sport->port.membase + UCR2); | ||
6720 | + for (i = 0; i < 2000; i++) { | ||
6721 | + unsigned uts = readl(sport->port.membase + UTS); | ||
6722 | + if (!(uts & UTS_SOFTRST)) | ||
6723 | + break; | ||
6724 | + } | ||
6725 | + writel(new_ufcr, sport->port.membase + UFCR); | ||
6726 | + writel(num, sport->port.membase + UBIR); | ||
6727 | + writel(denom, sport->port.membase + UBMR); | ||
6728 | |||
6729 | - if (!cpu_is_mx1()) | ||
6730 | - writel(sport->port.uartclk / div / 1000, | ||
6731 | + if (!cpu_is_mx1()) | ||
6732 | + writel(sport->port.uartclk / div / 1000, | ||
6733 | sport->port.membase + MX2_ONEMS); | ||
6734 | |||
6735 | - writel(old_ucr1, sport->port.membase + UCR1); | ||
6736 | + /* set the parity, stop bits and data size */ | ||
6737 | + writel(new_ucr2, sport->port.membase + UCR2); | ||
6738 | |||
6739 | - /* set the parity, stop bits and data size */ | ||
6740 | - writel(ucr2 | old_txrxen, sport->port.membase + UCR2); | ||
6741 | + if (UART_ENABLE_MS(&sport->port, termios->c_cflag)) | ||
6742 | + imx_enable_ms(&sport->port); | ||
6743 | |||
6744 | + pr_info("old_ufcr=%x new_ufcr=%x, old_ucr2=%x new_ucr2=%x, old_ubir=%x num=%lx, old_ubmr=%x denom=%lx\n", | ||
6745 | + old_ufcr, new_ufcr, old_ucr2, new_ucr2, old_ubir, num, old_ubmr, denom); | ||
6746 | + pr_info("clk=%i div=%i num=%li denom=%li baud=%i\n", sport->port.uartclk, div, num+1, denom+1, baud); | ||
6747 | + } | ||
6748 | spin_unlock_irqrestore(&sport->port.lock, flags); | ||
6749 | - | ||
6750 | - if (UART_ENABLE_MS(&sport->port, termios->c_cflag)) | ||
6751 | - imx_enable_ms(&sport->port); | ||
6752 | - | ||
6753 | } | ||
6754 | |||
6755 | static const char *imx_type(struct uart_port *port) | ||
6756 | diff --git a/drivers/tty/serial/mxc_uart_early.c b/drivers/tty/serial/mxc_uart_early.c | ||
6757 | index ffa3660..443dff5 100644 | ||
6758 | --- a/drivers/tty/serial/mxc_uart_early.c | ||
6759 | +++ b/drivers/tty/serial/mxc_uart_early.c | ||
6760 | @@ -183,7 +183,7 @@ int __init mxc_early_uart_console_disable(void) | ||
6761 | if (mxc_early_uart_console.index >= 0) { | ||
6762 | unregister_console(&mxc_early_uart_console); | ||
6763 | iounmap(port->membase); | ||
6764 | - clk_disable(device->clk); | ||
6765 | +// clk_disable(device->clk); | ||
6766 | clk_put(device->clk); | ||
6767 | } | ||
6768 | return 0; | ||
6769 | diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig | ||
6770 | old mode 100755 | ||
6771 | new mode 100644 | ||
6772 | diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile | ||
6773 | old mode 100755 | ||
6774 | new mode 100644 | ||
6775 | diff --git a/drivers/usb/gadget/arcotg_udc.c b/drivers/usb/gadget/arcotg_udc.c | ||
6776 | old mode 100755 | ||
6777 | new mode 100644 | ||
6778 | diff --git a/drivers/usb/gadget/arcotg_udc.h b/drivers/usb/gadget/arcotg_udc.h | ||
6779 | old mode 100755 | ||
6780 | new mode 100644 | ||
6781 | diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig | ||
6782 | old mode 100755 | ||
6783 | new mode 100644 | ||
6784 | diff --git a/drivers/usb/host/ehci-arc.c b/drivers/usb/host/ehci-arc.c | ||
6785 | old mode 100755 | ||
6786 | new mode 100644 | ||
6787 | diff --git a/drivers/usb/host/ehci-fsl.h b/drivers/usb/host/ehci-fsl.h | ||
6788 | old mode 100755 | ||
6789 | new mode 100644 | ||
6790 | diff --git a/drivers/usb/otg/Kconfig b/drivers/usb/otg/Kconfig | ||
6791 | old mode 100755 | ||
6792 | new mode 100644 | ||
6793 | diff --git a/drivers/usb/otg/Makefile b/drivers/usb/otg/Makefile | ||
6794 | old mode 100755 | ||
6795 | new mode 100644 | ||
6796 | diff --git a/drivers/usb/otg/fsl_otg.c b/drivers/usb/otg/fsl_otg.c | ||
6797 | old mode 100755 | ||
6798 | new mode 100644 | ||
6799 | diff --git a/drivers/usb/otg/fsl_otg.h b/drivers/usb/otg/fsl_otg.h | ||
6800 | old mode 100755 | ||
6801 | new mode 100644 | ||
6802 | diff --git a/drivers/usb/otg/otg_fsm.c b/drivers/usb/otg/otg_fsm.c | ||
6803 | old mode 100755 | ||
6804 | new mode 100644 | ||
6805 | diff --git a/drivers/usb/otg/otg_fsm.h b/drivers/usb/otg/otg_fsm.h | ||
6806 | old mode 100755 | ||
6807 | new mode 100644 | ||
6808 | diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig | ||
6809 | old mode 100755 | ||
6810 | new mode 100644 | ||
6811 | diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile | ||
6812 | old mode 100755 | ||
6813 | new mode 100644 | ||
6814 | diff --git a/drivers/video/mxc/mxc_ipuv3_fb.c b/drivers/video/mxc/mxc_ipuv3_fb.c | ||
6815 | index 745c485..d8df225 100644 | ||
6816 | --- a/drivers/video/mxc/mxc_ipuv3_fb.c | ||
6817 | +++ b/drivers/video/mxc/mxc_ipuv3_fb.c | ||
6818 | @@ -830,6 +830,8 @@ static int mxcfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) | ||
6819 | vtotal = var->yres + var->lower_margin + var->vsync_len + | ||
6820 | var->upper_margin; | ||
6821 | var->pixclock = (vtotal * htotal * 6UL) / 100UL; | ||
6822 | + if (!var->pixclock) | ||
6823 | + var->pixclock = 1000; | ||
6824 | var->pixclock = KHZ2PICOS(var->pixclock); | ||
6825 | dev_dbg(info->device, | ||
6826 | "pixclock set for 60Hz refresh = %u ps\n", | ||
6827 | @@ -2229,7 +2231,7 @@ static int mxcfb_probe(struct platform_device *pdev) | ||
6828 | mxcfbi->ipu_ch_nf_irq = IPU_IRQ_DC_SYNC_NFACK; | ||
6829 | mxcfbi->ipu_alp_ch_irq = -1; | ||
6830 | mxcfbi->ipu_ch = MEM_DC_SYNC; | ||
6831 | - mxcfbi->cur_blank = mxcfbi->next_blank = FB_BLANK_POWERDOWN; | ||
6832 | + mxcfbi->cur_blank = mxcfbi->next_blank = FB_BLANK_UNBLANK; | ||
6833 | |||
6834 | ret = mxcfb_register(fbi); | ||
6835 | if (ret < 0) | ||
6836 | diff --git a/drivers/video/mxc/mxcfb.c b/drivers/video/mxc/mxcfb.c | ||
6837 | index 4dffee5..a3f6476 100644 | ||
6838 | --- a/drivers/video/mxc/mxcfb.c | ||
6839 | +++ b/drivers/video/mxc/mxcfb.c | ||
6840 | @@ -346,6 +346,8 @@ static int mxcfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) | ||
6841 | vtotal = var->yres + var->lower_margin + var->vsync_len + | ||
6842 | var->upper_margin; | ||
6843 | var->pixclock = (vtotal * htotal * 6UL) / 100UL; | ||
6844 | + if (!var->pixclock) | ||
6845 | + var->pixclock = 1000; | ||
6846 | var->pixclock = KHZ2PICOS(var->pixclock); | ||
6847 | dev_dbg(info->device, | ||
6848 | "pixclock set for 60Hz refresh = %u ps\n", | ||
6849 | diff --git a/drivers/video/mxc/mxcfb_claa_wvga.c b/drivers/video/mxc/mxcfb_claa_wvga.c | ||
6850 | index 3dbad0d..4f15ba4 100644 | ||
6851 | --- a/drivers/video/mxc/mxcfb_claa_wvga.c | ||
6852 | +++ b/drivers/video/mxc/mxcfb_claa_wvga.c | ||
6853 | @@ -117,7 +117,7 @@ static struct notifier_block nb = { | ||
6854 | static int __devinit lcd_probe(struct platform_device *pdev) | ||
6855 | { | ||
6856 | int i; | ||
6857 | - struct mxc_lcd_platform_data *plat = pdev->dev.platform_data; | ||
6858 | + struct fsl_mxc_lcd_platform_data *plat = pdev->dev.platform_data; | ||
6859 | |||
6860 | if (plat) { | ||
6861 | if (plat->reset) | ||
6862 | diff --git a/drivers/video/mxc_hdmi.c b/drivers/video/mxc_hdmi.c | ||
6863 | index a45c347..3d96dfa 100644 | ||
6864 | --- a/drivers/video/mxc_hdmi.c | ||
6865 | +++ b/drivers/video/mxc_hdmi.c | ||
6866 | @@ -1538,10 +1538,10 @@ static void mxc_hdmi_edid_rebuild_modelist(struct mxc_hdmi *hdmi) | ||
6867 | */ | ||
6868 | mode = &hdmi->fbi->monspecs.modedb[i]; | ||
6869 | |||
6870 | - if (!(mode->vmode & FB_VMODE_INTERLACED) && | ||
6871 | - (mxc_edid_mode_to_vic(mode) != 0)) { | ||
6872 | + if (!(mode->vmode & FB_VMODE_INTERLACED)) { | ||
6873 | + int vic = mxc_edid_mode_to_vic(mode); | ||
6874 | |||
6875 | - dev_dbg(&hdmi->pdev->dev, "Added mode %d:", i); | ||
6876 | + dev_info(&hdmi->pdev->dev, "%s: Added mode %d(VIC %u):", __func__, i, vic); | ||
6877 | dev_dbg(&hdmi->pdev->dev, | ||
6878 | "xres = %d, yres = %d, freq = %d, vmode = %d, flag = %d\n", | ||
6879 | hdmi->fbi->monspecs.modedb[i].xres, | ||
6880 | diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig | ||
6881 | old mode 100755 | ||
6882 | new mode 100644 | ||
6883 | diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile | ||
6884 | old mode 100755 | ||
6885 | new mode 100644 | ||
6886 | diff --git a/include/linux/fec.h b/include/linux/fec.h | ||
6887 | index 8f69cb5..7a08261 100644 | ||
6888 | --- a/include/linux/fec.h | ||
6889 | +++ b/include/linux/fec.h | ||
6890 | @@ -21,6 +21,7 @@ struct fec_platform_data { | ||
6891 | int (*power_hibernate) (struct phy_device *); | ||
6892 | phy_interface_t phy; | ||
6893 | unsigned char mac[ETH_ALEN]; | ||
6894 | + int phy_irq; | ||
6895 | }; | ||
6896 | |||
6897 | #endif | ||
6898 | diff --git a/include/linux/mfd/da9052/da9052.h b/include/linux/mfd/da9052/da9052.h | ||
6899 | old mode 100755 | ||
6900 | new mode 100644 | ||
6901 | diff --git a/include/linux/mfd/da9052/tsi_filter.h b/include/linux/mfd/da9052/tsi_filter.h | ||
6902 | old mode 100755 | ||
6903 | new mode 100644 | ||
diff --git a/recipes-kernel/linux/linux-imx_3.0.35.bb b/recipes-kernel/linux/linux-imx_3.0.35.bb index 60ec3b0..c183e1e 100644 --- a/recipes-kernel/linux/linux-imx_3.0.35.bb +++ b/recipes-kernel/linux/linux-imx_3.0.35.bb | |||
@@ -3,7 +3,7 @@ | |||
3 | 3 | ||
4 | include linux-imx.inc | 4 | include linux-imx.inc |
5 | 5 | ||
6 | PR = "${INC_PR}.3" | 6 | PR = "${INC_PR}.4" |
7 | 7 | ||
8 | COMPATIBLE_MACHINE = "(mx6)" | 8 | COMPATIBLE_MACHINE = "(mx6)" |
9 | 9 | ||
@@ -13,3 +13,5 @@ LOCALVERSION = "-12.09.01+yocto" | |||
13 | 13 | ||
14 | SRC_URI += "file://perf_tools_Fix_build_against_newer_glibc.patch" | 14 | SRC_URI += "file://perf_tools_Fix_build_against_newer_glibc.patch" |
15 | 15 | ||
16 | # iMX6Q SabreLITE changes done by Boundary Devices | ||
17 | SRC_URI_append_imx6qsabrelite = " file://sync-boundary-changes.patch" | ||