2013-07-15 22:56:57

by Aaro Koskinen

[permalink] [raw]
Subject: v3.11-rc1 USB regressions

Hi,

I think USB tree introduced regressions in v3.11-rc1, at least for some
OMAP devices using legacy boot. I have only bisected these; I have no
idea what the real fixes are but the following reverts make Nokia OMAP2+
boards again usable for kernel development work (they need working USB
connection for interacting with the device):

1) USB peripheral mode (g_ether) is broken on Nokia N900, N950 and N9
(USB_MUSB_OMAP2PLUS). To make it it work, I need to revert three
commits:

09fc7d22b024692b2fe8a943b246de1af307132b
usb: musb: fix incorrect usage of resource pointer
(Reverting this fixes the g_ether probe failure "couldn't find
an available UDC")

fe4cb0912f8e737f8e4b8b38b9e692f8062f5423
usb: musb: gadget: remove hcd initialization
(Reverting this fixes error "cdc_ether: probe of 4-1:1.0 failed
with error -110" seen on the host side.)

8b125df5b24cfb0ec7fa1971e343cc0badc1827d
usb: musb: eliminate musb_to_hcd
(Reverting this fixes compilation error cause by the previous
revert.)

2) USB peripheral mode (g_ether) is broken also on Nokia N800 and N810
(USB_MUSB_TUSB6010). In addition to the above, I need to also revert
the following:

b7e2e75a8c6062afe1dd88b0b299938e5d36dff8
usb: gadget: drop unused USB_GADGET_MUSB_HDRC

(This commit is clearly incorrect - code checking for this still
remain in the tree (see e.g. N8x0 board file), so it's not "unused".)

A.


2013-07-16 06:32:43

by Daniel Mack

[permalink] [raw]
Subject: Re: v3.11-rc1 USB regressions

Hi Aaro,

On 16.07.2013 00:56, Aaro Koskinen wrote:
> Hi,
>
> I think USB tree introduced regressions in v3.11-rc1, at least for some
> OMAP devices using legacy boot.

Thanks for checking the tree so early.

> I have only bisected these; I have no
> idea what the real fixes are but the following reverts make Nokia OMAP2+
> boards again usable for kernel development work (they need working USB
> connection for interacting with the device):
>
> 1) USB peripheral mode (g_ether) is broken on Nokia N900, N950 and N9
> (USB_MUSB_OMAP2PLUS). To make it it work, I need to revert three
> commits:
>
> 09fc7d22b024692b2fe8a943b246de1af307132b
> usb: musb: fix incorrect usage of resource pointer
> (Reverting this fixes the g_ether probe failure "couldn't find
> an available UDC")

Can't say much about this one, but I'd like you to only keep this one
reverted and sort out the regressions in the musb core first.

> fe4cb0912f8e737f8e4b8b38b9e692f8062f5423
> usb: musb: gadget: remove hcd initialization
> (Reverting this fixes error "cdc_ether: probe of 4-1:1.0 failed
> with error -110" seen on the host side.)

Which role does your musb-based hardware have in this case, and which
MUSB_* config symbols do you set? You should have USB_MUSB_GADGET.

> 8b125df5b24cfb0ec7fa1971e343cc0badc1827d
> usb: musb: eliminate musb_to_hcd
> (Reverting this fixes compilation error cause by the previous
> revert.)
>
> 2) USB peripheral mode (g_ether) is broken also on Nokia N800 and N810
> (USB_MUSB_TUSB6010). In addition to the above, I need to also revert
> the following:
>
> b7e2e75a8c6062afe1dd88b0b299938e5d36dff8
> usb: gadget: drop unused USB_GADGET_MUSB_HDRC
>
> (This commit is clearly incorrect - code checking for this still
> remain in the tree (see e.g. N8x0 board file), so it's not "unused".)

Good catch, I didn't expect board files to depend on config symbols that
have no effect on the driver itself.

Please check the attached patch and let me know if it helps.


Thanks,
Daniel



Attachments:
0001-ARM-omap2-fix-musb-usage-for-n8x0.patch (1.69 kB)

2013-07-16 07:00:21

by Kishon Vijay Abraham I

[permalink] [raw]
Subject: Re: v3.11-rc1 USB regressions

Hi,

On Tuesday 16 July 2013 12:03 PM, Daniel Mack wrote:
> Hi Aaro,
>
> On 16.07.2013 00:56, Aaro Koskinen wrote:
>> Hi,
>>
>> I think USB tree introduced regressions in v3.11-rc1, at least for some
>> OMAP devices using legacy boot.
>
> Thanks for checking the tree so early.
>
>> I have only bisected these; I have no
>> idea what the real fixes are but the following reverts make Nokia OMAP2+
>> boards again usable for kernel development work (they need working USB
>> connection for interacting with the device):
>>
>> 1) USB peripheral mode (g_ether) is broken on Nokia N900, N950 and N9
>> (USB_MUSB_OMAP2PLUS). To make it it work, I need to revert three
>> commits:
>>
>> 09fc7d22b024692b2fe8a943b246de1af307132b
>> usb: musb: fix incorrect usage of resource pointer
>> (Reverting this fixes the g_ether probe failure "couldn't find
>> an available UDC")

I've posted a patch fixing the issue
http://comments.gmane.org/gmane.linux.usb.general/89541
There were some comments on it. I'll be posting a new version for it.

Thanks
Kishon

2013-07-16 08:09:25

by Felipe Balbi

[permalink] [raw]
Subject: Re: v3.11-rc1 USB regressions

Hi,

On Tue, Jul 16, 2013 at 12:30:00PM +0530, Kishon Vijay Abraham I wrote:
> On Tuesday 16 July 2013 12:03 PM, Daniel Mack wrote:
> > Hi Aaro,
> >
> > On 16.07.2013 00:56, Aaro Koskinen wrote:
> >> Hi,
> >>
> >> I think USB tree introduced regressions in v3.11-rc1, at least for some
> >> OMAP devices using legacy boot.
> >
> > Thanks for checking the tree so early.
> >
> >> I have only bisected these; I have no
> >> idea what the real fixes are but the following reverts make Nokia OMAP2+
> >> boards again usable for kernel development work (they need working USB
> >> connection for interacting with the device):
> >>
> >> 1) USB peripheral mode (g_ether) is broken on Nokia N900, N950 and N9
> >> (USB_MUSB_OMAP2PLUS). To make it it work, I need to revert three
> >> commits:
> >>
> >> 09fc7d22b024692b2fe8a943b246de1af307132b
> >> usb: musb: fix incorrect usage of resource pointer
> >> (Reverting this fixes the g_ether probe failure "couldn't find
> >> an available UDC")
>
> I've posted a patch fixing the issue
> http://comments.gmane.org/gmane.linux.usb.general/89541
> There were some comments on it. I'll be posting a new version for it.

hmm, n8x0 used tusb6010, so perhaps a similar patch needs to be cooked
for that too. Right now, let's to the minimum fix, which is just to
increment the array size to 3 and for v3.12 we do the changes that I
suggested.

--
balbi


Attachments:
(No filename) (1.37 kB)
signature.asc (836.00 B)
Digital signature
Download all attachments

2013-07-16 08:23:31

by Felipe Balbi

[permalink] [raw]
Subject: Re: v3.11-rc1 USB regressions

On Tue, Jul 16, 2013 at 11:08:36AM +0300, Felipe Balbi wrote:
> Hi,
>
> On Tue, Jul 16, 2013 at 12:30:00PM +0530, Kishon Vijay Abraham I wrote:
> > On Tuesday 16 July 2013 12:03 PM, Daniel Mack wrote:
> > > Hi Aaro,
> > >
> > > On 16.07.2013 00:56, Aaro Koskinen wrote:
> > >> Hi,
> > >>
> > >> I think USB tree introduced regressions in v3.11-rc1, at least for some
> > >> OMAP devices using legacy boot.
> > >
> > > Thanks for checking the tree so early.
> > >
> > >> I have only bisected these; I have no
> > >> idea what the real fixes are but the following reverts make Nokia OMAP2+
> > >> boards again usable for kernel development work (they need working USB
> > >> connection for interacting with the device):
> > >>
> > >> 1) USB peripheral mode (g_ether) is broken on Nokia N900, N950 and N9
> > >> (USB_MUSB_OMAP2PLUS). To make it it work, I need to revert three
> > >> commits:
> > >>
> > >> 09fc7d22b024692b2fe8a943b246de1af307132b
> > >> usb: musb: fix incorrect usage of resource pointer
> > >> (Reverting this fixes the g_ether probe failure "couldn't find
> > >> an available UDC")
> >
> > I've posted a patch fixing the issue
> > http://comments.gmane.org/gmane.linux.usb.general/89541
> > There were some comments on it. I'll be posting a new version for it.
>
> hmm, n8x0 used tusb6010, so perhaps a similar patch needs to be cooked
> for that too. Right now, let's to the minimum fix, which is just to
> increment the array size to 3 and for v3.12 we do the changes that I
> suggested.

this should solve the problem on n900 and n8x0, it's pretty much
kishon's original patch, so I guess it deserves his authorship:

diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c
index 6708a3b..f44e8b5 100644
--- a/drivers/usb/musb/omap2430.c
+++ b/drivers/usb/musb/omap2430.c
@@ -481,7 +481,7 @@ static u64 omap2430_dmamask = DMA_BIT_MASK(32);

static int omap2430_probe(struct platform_device *pdev)
{
- struct resource musb_resources[2];
+ struct resource musb_resources[3];
struct musb_hdrc_platform_data *pdata = pdev->dev.platform_data;
struct omap_musb_board_data *data;
struct platform_device *musb;
@@ -581,6 +581,11 @@ static int omap2430_probe(struct platform_device *pdev)
musb_resources[1].end = pdev->resource[1].end;
musb_resources[1].flags = pdev->resource[1].flags;

+ musb_resources[2].name = pdev->resource[2].name;
+ musb_resources[2].start = pdev->resource[2].start;
+ musb_resources[2].end = pdev->resource[2].end;
+ musb_resources[2].flags = pdev->resource[2].flags;
+
ret = platform_device_add_resources(musb, musb_resources,
ARRAY_SIZE(musb_resources));
if (ret) {
diff --git a/drivers/usb/musb/tusb6010.c b/drivers/usb/musb/tusb6010.c
index 2c06a89..6f8a9ca 100644
--- a/drivers/usb/musb/tusb6010.c
+++ b/drivers/usb/musb/tusb6010.c
@@ -1156,7 +1156,7 @@ static u64 tusb_dmamask = DMA_BIT_MASK(32);

static int tusb_probe(struct platform_device *pdev)
{
- struct resource musb_resources[2];
+ struct resource musb_resources[3];
struct musb_hdrc_platform_data *pdata = pdev->dev.platform_data;
struct platform_device *musb;
struct tusb6010_glue *glue;
@@ -1199,6 +1199,11 @@ static int tusb_probe(struct platform_device *pdev)
musb_resources[1].end = pdev->resource[1].end;
musb_resources[1].flags = pdev->resource[1].flags;

+ musb_resources[2].name = pdev->resource[2].name;
+ musb_resources[2].start = pdev->resource[2].start;
+ musb_resources[2].end = pdev->resource[2].end;
+ musb_resources[2].flags = pdev->resource[2].flags;
+
ret = platform_device_add_resources(musb, musb_resources,
ARRAY_SIZE(musb_resources));
if (ret) {

--
balbi


Attachments:
(No filename) (3.58 kB)
signature.asc (836.00 B)
Digital signature
Download all attachments

2013-07-16 17:30:34

by Aaro Koskinen

[permalink] [raw]
Subject: Re: v3.11-rc1 USB regressions

Hi,

On Tue, Jul 16, 2013 at 08:33:06AM +0200, Daniel Mack wrote:
> > fe4cb0912f8e737f8e4b8b38b9e692f8062f5423
> > usb: musb: gadget: remove hcd initialization
> > (Reverting this fixes error "cdc_ether: probe of 4-1:1.0 failed
> > with error -110" seen on the host side.)
>
> Which role does your musb-based hardware have in this case, and which
> MUSB_* config symbols do you set? You should have USB_MUSB_GADGET.

I have USB_MUSB_DUAL_ROLE set. But also with USB_MUSB_GADGET the result
is the same.

The N900/RX-51 board file sets mode to MUSB_PERIPHERAL (see
mach-omap2/board-rx51.c).

> From 5f33d42f2dffb82d22b83a030f14fe2331a935b7 Mon Sep 17 00:00:00 2001
> From: Daniel Mack <[email protected]>
> Date: Tue, 16 Jul 2013 08:19:49 +0200
> Subject: [PATCH] ARM: omap2: fix musb usage for n8x0
>
> Commit b7e2e75a8c ("usb: gadget: drop unused USB_GADGET_MUSB_HDRC")
> dropped a config symbol that was unused by the musb core, but it turns
> out that board support code still had references to it.
>
> As the core now handles both dual role and host-only modes, we can just
> pass MUSB_OTG as mode from board files.

This looks fine, however, I currently cannot test the host mode.

A.

> Signed-off-by: Daniel Mack <[email protected]>
> ---
> arch/arm/mach-omap2/board-n8x0.c | 4 ----
> arch/arm/mach-omap2/usb-musb.c | 5 +----
> 2 files changed, 1 insertion(+), 8 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c
> index f6eeb87..827d150 100644
> --- a/arch/arm/mach-omap2/board-n8x0.c
> +++ b/arch/arm/mach-omap2/board-n8x0.c
> @@ -122,11 +122,7 @@ static struct musb_hdrc_config musb_config = {
> };
>
> static struct musb_hdrc_platform_data tusb_data = {
> -#ifdef CONFIG_USB_GADGET_MUSB_HDRC
> .mode = MUSB_OTG,
> -#else
> - .mode = MUSB_HOST,
> -#endif
> .set_power = tusb_set_power,
> .min_power = 25, /* x2 = 50 mA drawn from VBUS as peripheral */
> .power = 100, /* Max 100 mA VBUS for host mode */
> diff --git a/arch/arm/mach-omap2/usb-musb.c b/arch/arm/mach-omap2/usb-musb.c
> index 8c4de27..bc89723 100644
> --- a/arch/arm/mach-omap2/usb-musb.c
> +++ b/arch/arm/mach-omap2/usb-musb.c
> @@ -38,11 +38,8 @@ static struct musb_hdrc_config musb_config = {
> };
>
> static struct musb_hdrc_platform_data musb_plat = {
> -#ifdef CONFIG_USB_GADGET_MUSB_HDRC
> .mode = MUSB_OTG,
> -#else
> - .mode = MUSB_HOST,
> -#endif
> +
> /* .clock is set dynamically */
> .config = &musb_config,
>
> --
> 1.8.1.4
>

2013-07-16 17:57:23

by Aaro Koskinen

[permalink] [raw]
Subject: Re: v3.11-rc1 USB regressions

Hi,

On Tue, Jul 16, 2013 at 08:33:06AM +0200, Daniel Mack wrote:
> > fe4cb0912f8e737f8e4b8b38b9e692f8062f5423
> > usb: musb: gadget: remove hcd initialization
> > (Reverting this fixes error "cdc_ether: probe of 4-1:1.0 failed
> > with error -110" seen on the host side.)
>
> Which role does your musb-based hardware have in this case, and which
> MUSB_* config symbols do you set? You should have USB_MUSB_GADGET.

Here are full details:

Kernel v3.11-rc1 and the following USB fixes:
ARM: omap2: fix musb usage for n8x0
musb: omap: Fix: pass all the resources to musb core

When I boot N900 and load g_ether, I get the following logs:

[ 3.725097] using random self ethernet address
[ 3.732360] using random host ethernet address
[ 3.751556] usb0: HOST MAC b2:bf:cf:67:d4:79
[ 3.758483] usb0: MAC fe:2f:1e:ad:3a:03
[ 3.764801] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
[ 3.773986] g_ether gadget: g_ether ready
[ 4.215942] g_ether gadget: high-speed config #1: CDC Ethernet (ECM)

On my workstation (stock Debian 3.9 kernel) I see the following:

[173226.128477] usb 4-1: Product: Ethernet Gadget
[173226.128488] usb 4-1: Manufacturer: Linux 3.11.0-rc1-n9xx-00005-gf0a9c0d with musb-hdrc
[173241.136705] cdc_ether: probe of 4-1:1.0 failed with error -110

When I revert fe4cb0912f8e737f8e4b8b38b9e692f8062f5423 and
8b125df5b24cfb0ec7fa1971e343cc0badc1827d, it works like before (3.10):

[ 3.739959] using random self ethernet address
[ 3.747161] using random host ethernet address
[ 3.766448] usb0: HOST MAC e2:cd:fc:cb:a5:49
[ 3.773345] usb0: MAC 3e:a7:46:ab:3c:f5
[ 3.779663] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
[ 3.788879] g_ether gadget: g_ether ready
[ 3.805023] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
[ 3.813476] musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 1
[ 3.824127] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 3.833526] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.843292] usb usb1: Product: MUSB HDRC host driver
[ 3.850677] usb usb1: Manufacturer: Linux 3.11.0-rc1-n9xx-00007-ga1ab02f musb-hcd
[ 3.860687] usb usb1: SerialNumber: musb-hdrc.0.auto
[ 3.875640] hub 1-0:1.0: USB hub found
[ 3.881958] hub 1-0:1.0: 1 port detected
[ 4.321105] g_ether gadget: high-speed config #1: CDC Ethernet (ECM)

...

[173817.256348] usb 4-1: Product: Ethernet Gadget
[173817.256359] usb 4-1: Manufacturer: Linux 3.11.0-rc1-n9xx-00007-ga1ab02f with musb-hdrc
[173817.268900] cdc_ether 4-1:1.0 usb0: register 'cdc_ether' at usb-0000:00:1d.7-1, CDC Ethernet Device, e2:cd:fc:cb:a5:49

Kernel config:

#
# Automatically generated file; DO NOT EDIT.
# Linux/arm 3.11.0-rc1 Kernel Configuration
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
CONFIG_HAVE_PROC_CPU=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_ARCH_HAS_CPUFREQ=y
CONFIG_ARCH_HAS_BANDGAP=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_VECTORS_BASE=0xffff0000
CONFIG_ARM_PATCH_PHYS_VIRT=y
CONFIG_GENERIC_BUG=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y

#
# General setup
#
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION="-n9xx"
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
# CONFIG_KERNEL_GZIP is not set
CONFIG_KERNEL_LZMA=y
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_FHANDLE is not set
# CONFIG_AUDIT is not set
CONFIG_HAVE_GENERIC_HARDIRQS=y

#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_IRQ_DOMAIN=y
CONFIG_SPARSE_IRQ=y
CONFIG_KTIME_SCALAR=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
# CONFIG_TASKSTATS is not set

#
# RCU Subsystem
#
CONFIG_TINY_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_RCU_STALL_COMMON is not set
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=20
CONFIG_GENERIC_SCHED_CLOCK=y
# CONFIG_CGROUPS is not set
# CONFIG_CHECKPOINT_RESTORE is not set
# CONFIG_NAMESPACES is not set
CONFIG_UIDGID_CONVERTED=y
# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set
# CONFIG_SCHED_AUTOGROUP is not set
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_RD_GZIP is not set
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_HAVE_UID16=y
CONFIG_EXPERT=y
CONFIG_UID16=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_PERF_USE_VMALLOC=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLUB_DEBUG=y
CONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_PROFILING=y
CONFIG_OPROFILE=y
CONFIG_HAVE_OPROFILE=y
CONFIG_KPROBES=y
# CONFIG_JUMP_LABEL is not set
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
CONFIG_KRETPROBES=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_GENERIC_IDLE_POLL_SETUP=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_MODULES_USE_ELF_REL=y
CONFIG_CLONE_BACKWARDS=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_OLD_SIGACTION=y

#
# GCOV-based kernel profiling
#
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_MODULE_SIG is not set
CONFIG_BLOCK=y
CONFIG_LBDAF=y
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_BSGLIB is not set
# CONFIG_BLK_DEV_INTEGRITY is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_AIX_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_DEADLINE is not set
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
CONFIG_INLINE_READ_UNLOCK=y
CONFIG_INLINE_READ_UNLOCK_IRQ=y
CONFIG_INLINE_WRITE_UNLOCK=y
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
CONFIG_FREEZER=y

#
# System Type
#
CONFIG_MMU=y
CONFIG_ARCH_MULTIPLATFORM=y
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_VERSATILE is not set
# CONFIG_ARCH_AT91 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_GEMINI is not set
# CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_EP93XX is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_NETX is not set
# CONFIG_ARCH_IOP13XX is not set
# CONFIG_ARCH_IOP32X is not set
# CONFIG_ARCH_IOP33X is not set
# CONFIG_ARCH_IXP4XX is not set
# CONFIG_ARCH_DOVE is not set
# CONFIG_ARCH_KIRKWOOD is not set
# CONFIG_ARCH_MV78XX0 is not set
# CONFIG_ARCH_ORION5X is not set
# CONFIG_ARCH_MMP is not set
# CONFIG_ARCH_KS8695 is not set
# CONFIG_ARCH_W90X900 is not set
# CONFIG_ARCH_LPC32XX is not set
# CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_MSM is not set
# CONFIG_ARCH_SHMOBILE is not set
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_SA1100 is not set
# CONFIG_ARCH_S3C24XX is not set
# CONFIG_ARCH_S3C64XX is not set
# CONFIG_ARCH_S5P64X0 is not set
# CONFIG_ARCH_S5PC100 is not set
# CONFIG_ARCH_S5PV210 is not set
# CONFIG_ARCH_EXYNOS is not set
# CONFIG_ARCH_SHARK is not set
# CONFIG_ARCH_DAVINCI is not set
# CONFIG_ARCH_OMAP1 is not set

#
# Multiple platform selection
#

#
# CPU Core family selection
#
# CONFIG_ARCH_MULTI_V6 is not set
CONFIG_ARCH_MULTI_V7=y
CONFIG_ARCH_MULTI_V6_V7=y
# CONFIG_ARCH_MULTI_CPU_AUTO is not set
# CONFIG_ARCH_MVEBU is not set
# CONFIG_ARCH_BCM is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_KEYBOARD_GPIO_POLLED is not set
# CONFIG_ARCH_HIGHBANK is not set
# CONFIG_ARCH_KEYSTONE is not set
# CONFIG_ARCH_MXC is not set

#
# TI OMAP Common Features
#

#
# OMAP Feature Selections
#
CONFIG_OMAP_RESET_CLOCKS=y
CONFIG_OMAP_MUX=y
CONFIG_OMAP_MUX_DEBUG=y
CONFIG_OMAP_MUX_WARNINGS=y
CONFIG_OMAP_32K_TIMER=y
# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set
CONFIG_OMAP_DM_TIMER=y
CONFIG_OMAP_PM_NOOP=y
# CONFIG_MACH_OMAP_GENERIC is not set
CONFIG_ARCH_OMAP=y
CONFIG_ARCH_OMAP3=y
# CONFIG_ARCH_OMAP4 is not set
# CONFIG_SOC_OMAP5 is not set
# CONFIG_SOC_AM33XX is not set
# CONFIG_SOC_AM43XX is not set
CONFIG_ARCH_OMAP2PLUS=y

#
# TI OMAP2/3/4 Specific Features
#
CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
CONFIG_SOC_HAS_OMAP2_SDRC=y
CONFIG_SOC_OMAP3430=y
# CONFIG_SOC_TI81XX is not set
CONFIG_OMAP_PACKAGE_CBB=y

#
# OMAP Board Type
#
# CONFIG_MACH_OMAP3_BEAGLE is not set
# CONFIG_MACH_DEVKIT8000 is not set
# CONFIG_MACH_OMAP_LDP is not set
# CONFIG_MACH_OMAP3530_LV_SOM is not set
# CONFIG_MACH_OMAP3_TORPEDO is not set
# CONFIG_MACH_OVERO is not set
# CONFIG_MACH_OMAP3EVM is not set
# CONFIG_MACH_OMAP3517EVM is not set
# CONFIG_MACH_CRANEBOARD is not set
# CONFIG_MACH_OMAP3_PANDORA is not set
# CONFIG_MACH_TOUCHBOOK is not set
# CONFIG_MACH_OMAP_3430SDP is not set
CONFIG_MACH_NOKIA_RM680=y
CONFIG_MACH_NOKIA_RX51=y
# CONFIG_MACH_OMAP_ZOOM2 is not set
# CONFIG_MACH_OMAP_ZOOM3 is not set
# CONFIG_MACH_CM_T35 is not set
# CONFIG_MACH_CM_T3517 is not set
# CONFIG_MACH_IGEP0020 is not set
# CONFIG_MACH_IGEP0030 is not set
# CONFIG_MACH_SBC3530 is not set
# CONFIG_MACH_OMAP_3630SDP is not set
# CONFIG_OMAP3_EMU is not set
# CONFIG_OMAP3_SDRC_AC_TIMING is not set
# CONFIG_ARCH_ROCKCHIP is not set
# CONFIG_ARCH_SOCFPGA is not set
# CONFIG_PLAT_SPEAR is not set
# CONFIG_ARCH_STI is not set
# CONFIG_ARCH_SUNXI is not set
# CONFIG_ARCH_SIRF is not set
# CONFIG_ARCH_TEGRA is not set

#
# ST-Ericsson AB U300/U335 Platform
#

#
# ST-Ericsson Mobile Platform Products
#

#
# ST-Ericsson U300/U335 Feature Selections
#
# CONFIG_ARCH_U8500 is not set
# CONFIG_ARCH_VEXPRESS is not set
# CONFIG_ARCH_VIRT is not set
# CONFIG_ARCH_WM8850 is not set
# CONFIG_ARCH_ZYNQ is not set

#
# Processor Type
#
CONFIG_CPU_V7=y
CONFIG_CPU_32v6K=y
CONFIG_CPU_32v7=y
CONFIG_CPU_ABRT_EV7=y
CONFIG_CPU_PABRT_V7=y
CONFIG_CPU_CACHE_V7=y
CONFIG_CPU_CACHE_VIPT=y
CONFIG_CPU_COPY_V6=y
CONFIG_CPU_TLB_V7=y
CONFIG_CPU_HAS_ASID=y
CONFIG_CPU_CP15=y
CONFIG_CPU_CP15_MMU=y

#
# Processor Features
#
# CONFIG_ARM_LPAE is not set
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
CONFIG_ARM_THUMB=y
CONFIG_ARM_THUMBEE=y
CONFIG_ARM_VIRT_EXT=y
# CONFIG_SWP_EMULATE is not set
# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_DISABLE is not set
# CONFIG_CPU_BPREDICT_DISABLE is not set
# CONFIG_CACHE_L2X0 is not set
CONFIG_ARM_L1_CACHE_SHIFT_6=y
CONFIG_ARM_L1_CACHE_SHIFT=6
CONFIG_ARM_DMA_MEM_BUFFERABLE=y
CONFIG_ARM_NR_BANKS=8
CONFIG_MULTI_IRQ_HANDLER=y
# CONFIG_ARM_ERRATA_430973 is not set
# CONFIG_ARM_ERRATA_720789 is not set
# CONFIG_ARM_ERRATA_754322 is not set
# CONFIG_ARM_ERRATA_775420 is not set
CONFIG_TI_PRIV_EDMA=y

#
# Bus support
#
# CONFIG_PCI_SYSCALL is not set
# CONFIG_PCCARD is not set

#
# Kernel Features
#
# CONFIG_HAVE_ARM_ARCH_TIMER is not set
CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
# CONFIG_ARM_PSCI is not set
CONFIG_ARCH_NR_GPIO=0
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_HZ=100
CONFIG_SCHED_HRTICK=y
# CONFIG_THUMB2_KERNEL is not set
CONFIG_AEABI=y
CONFIG_OABI_COMPAT=y
CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
CONFIG_HAVE_ARCH_PFN_VALID=y
CONFIG_HIGHMEM=y
# CONFIG_HIGHPTE is not set
CONFIG_HW_PERF_EVENTS=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_HAVE_MEMBLOCK=y
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=0
CONFIG_BOUNCE=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_NEED_PER_CPU_KM=y
# CONFIG_CLEANCACHE is not set
# CONFIG_FRONTSWAP is not set
# CONFIG_ZBUD is not set
CONFIG_FORCE_MAX_ZONEORDER=11
CONFIG_ALIGNMENT_TRAP=y
# CONFIG_UACCESS_WITH_MEMCPY is not set
# CONFIG_SECCOMP is not set
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_XEN is not set

#
# Boot options
#
CONFIG_USE_OF=y
CONFIG_ATAGS=y
# CONFIG_DEPRECATED_PARAM_STRUCT is not set
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
# CONFIG_ARM_APPENDED_DTB is not set
CONFIG_CMDLINE="console=ttyO2,115200 console=tty"
# CONFIG_CMDLINE_FROM_BOOTLOADER is not set
# CONFIG_CMDLINE_EXTEND is not set
CONFIG_CMDLINE_FORCE=y
CONFIG_KEXEC=y
CONFIG_ATAGS_PROC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_AUTO_ZRELADDR=y

#
# CPU Power Management
#

#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
# CONFIG_CPU_IDLE is not set
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set

#
# Floating point emulation
#

#
# At least one emulation must be selected
#
# CONFIG_FPE_NWFPE is not set
# CONFIG_FPE_FASTFPE is not set
CONFIG_VFP=y
CONFIG_VFPv3=y
CONFIG_NEON=y

#
# Userspace binary formats
#
CONFIG_BINFMT_ELF=y
CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_HAVE_AOUT=y
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y

#
# Power management options
#
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_PM_SLEEP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not set
CONFIG_PM_RUNTIME=y
CONFIG_PM=y
CONFIG_PM_DEBUG=y
# CONFIG_PM_ADVANCED_DEBUG is not set
# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_PM_SLEEP_DEBUG=y
# CONFIG_APM_EMULATION is not set
CONFIG_ARCH_HAS_OPP=y
CONFIG_PM_OPP=y
CONFIG_PM_CLK=y
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
CONFIG_CPU_PM=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARM_CPU_SUSPEND=y
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_DIAG is not set
# CONFIG_UNIX is not set
# CONFIG_XFRM_USER is not set
# CONFIG_NET_KEY is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE_DEMUX is not set
# CONFIG_NET_IP_TUNNEL is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
# CONFIG_INET_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_INET_LRO is not set
# CONFIG_INET_DIAG is not set
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
# CONFIG_IPV6 is not set
# CONFIG_NETWORK_SECMARK is not set
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
# CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_RDS is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_L2TP is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set
# CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
# CONFIG_BATMAN_ADV is not set
# CONFIG_OPENVSWITCH is not set
# CONFIG_VSOCKETS is not set
# CONFIG_NETLINK_MMAP is not set
# CONFIG_NETLINK_DIAG is not set
# CONFIG_NET_MPLS_GSO is not set
CONFIG_NET_LL_RX_POLL=y
CONFIG_BQL=y
# CONFIG_BPF_JIT is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_NET_TCPPROBE is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
# CONFIG_WIRELESS is not set
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set
# CONFIG_RFKILL_REGULATOR is not set
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
# CONFIG_CEPH_LIB is not set
# CONFIG_NFC is not set
CONFIG_HAVE_BPF_JIT=y

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
# CONFIG_DEVTMPFS_MOUNT is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_SOC_BUS=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
# CONFIG_DMA_SHARED_BUFFER is not set
# CONFIG_CMA is not set

#
# Bus devices
#
# CONFIG_OMAP_OCP2SCP is not set
CONFIG_OMAP_INTERCONNECT=y
# CONFIG_ARM_CCI is not set
# CONFIG_CONNECTOR is not set
CONFIG_MTD=y
# CONFIG_MTD_TESTS is not set
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_AFS_PARTS is not set
# CONFIG_MTD_OF_PARTS is not set
# CONFIG_MTD_AR7_PARTS is not set

#
# User Modules And Translation Layers
#
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set
# CONFIG_SM_FTL is not set
CONFIG_MTD_OOPS=y
# CONFIG_MTD_SWAP is not set

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
CONFIG_MTD_CFI_INTELEXT=y
# CONFIG_MTD_CFI_AMDSTD is not set
# CONFIG_MTD_CFI_STAA is not set
CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set

#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PHYSMAP is not set
# CONFIG_MTD_PHYSMAP_OF is not set
# CONFIG_MTD_PLATRAM is not set

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_DATAFLASH is not set
# CONFIG_MTD_M25P80 is not set
# CONFIG_MTD_SST25L is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLOCK2MTD is not set

#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOCG3 is not set
CONFIG_MTD_NAND_ECC=y
# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
# CONFIG_MTD_NAND_ECC_BCH is not set
# CONFIG_MTD_SM_COMMON is not set
# CONFIG_MTD_NAND_DENALI is not set
# CONFIG_MTD_NAND_GPIO is not set
CONFIG_MTD_NAND_OMAP2=y
# CONFIG_MTD_NAND_OMAP_BCH is not set
CONFIG_MTD_NAND_IDS=y
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_DOCG4 is not set
# CONFIG_MTD_NAND_NANDSIM is not set
# CONFIG_MTD_NAND_PLATFORM is not set
# CONFIG_MTD_ALAUDA is not set
CONFIG_MTD_ONENAND=y
CONFIG_MTD_ONENAND_VERIFY_WRITE=y
# CONFIG_MTD_ONENAND_GENERIC is not set
CONFIG_MTD_ONENAND_OMAP2=y
# CONFIG_MTD_ONENAND_OTP is not set
# CONFIG_MTD_ONENAND_2X_PROGRAM is not set

#
# LPDDR flash memory drivers
#
# CONFIG_MTD_LPDDR is not set
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
# CONFIG_MTD_UBI_FASTMAP is not set
# CONFIG_MTD_UBI_GLUEBI is not set
CONFIG_DTC=y
CONFIG_OF=y

#
# Device Tree and Open Firmware support
#
CONFIG_PROC_DEVICETREE=y
# CONFIG_OF_SELFTEST is not set
CONFIG_OF_FLATTREE=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_IRQ=y
CONFIG_OF_I2C=y
CONFIG_OF_MTD=y
# CONFIG_PARPORT is not set
# CONFIG_BLK_DEV is not set

#
# Misc devices
#
CONFIG_SENSORS_LIS3LV02D=m
# CONFIG_AD525X_DPOT is not set
# CONFIG_ATMEL_PWM is not set
# CONFIG_DUMMY_IRQ is not set
# CONFIG_ICS932S401 is not set
# CONFIG_ATMEL_SSC is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_APDS9802ALS is not set
# CONFIG_ISL29003 is not set
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1780 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_SENSORS_APDS990X is not set
# CONFIG_HMC6352 is not set
# CONFIG_DS1682 is not set
# CONFIG_TI_DAC7512 is not set
# CONFIG_BMP085_I2C is not set
# CONFIG_BMP085_SPI is not set
# CONFIG_USB_SWITCH_FSA9480 is not set
# CONFIG_LATTICE_ECP3_CONFIG is not set
# CONFIG_SRAM is not set
# CONFIG_C2PORT is not set

#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_AT25 is not set
# CONFIG_EEPROM_LEGACY is not set
# CONFIG_EEPROM_MAX6875 is not set
CONFIG_EEPROM_93CX6=y
# CONFIG_EEPROM_93XX46 is not set

#
# Texas Instruments shared transport line discipline
#
# CONFIG_TI_ST is not set
# CONFIG_SENSORS_LIS3_SPI is not set
CONFIG_SENSORS_LIS3_I2C=m

#
# Altera FPGA firmware download module
#
# CONFIG_ALTERA_STAPL is not set

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not set
# CONFIG_SCSI_NETLINK is not set
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
# CONFIG_CHR_DEV_SG is not set
# CONFIG_CHR_DEV_SCH is not set
CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
CONFIG_SCSI_SCAN_ASYNC=y

#
# SCSI Transports
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_ISCSI_BOOT_SYSFS is not set
# CONFIG_SCSI_UFSHCD is not set
# CONFIG_LIBFC is not set
# CONFIG_LIBFCOE is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_DH is not set
# CONFIG_SCSI_OSD_INITIATOR is not set
# CONFIG_ATA is not set
# CONFIG_MD is not set
# CONFIG_TARGET_CORE is not set
# CONFIG_NETDEVICES is not set

#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
CONFIG_INPUT_POLLDEV=y
# CONFIG_INPUT_SPARSEKMAP is not set
CONFIG_INPUT_MATRIXKMAP=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_LKKBD is not set
CONFIG_KEYBOARD_GPIO=y
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8333 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_OMAP4 is not set
CONFIG_KEYBOARD_TWL4030=y
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_CYPRESS=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_BCM5974 is not set
# CONFIG_MOUSE_CYAPA is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_MOUSE_GPIO is not set
# CONFIG_MOUSE_SYNAPTICS_I2C is not set
# CONFIG_MOUSE_SYNAPTICS_USB is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=y
# CONFIG_TOUCHSCREEN_AD7877 is not set
# CONFIG_TOUCHSCREEN_AD7879 is not set
# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
# CONFIG_TOUCHSCREEN_BU21013 is not set
# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
# CONFIG_TOUCHSCREEN_DYNAPRO is not set
# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
# CONFIG_TOUCHSCREEN_EETI is not set
# CONFIG_TOUCHSCREEN_EGALAX is not set
# CONFIG_TOUCHSCREEN_FUJITSU is not set
# CONFIG_TOUCHSCREEN_ILI210X is not set
# CONFIG_TOUCHSCREEN_GUNZE is not set
# CONFIG_TOUCHSCREEN_ELO is not set
# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MMS114 is not set
# CONFIG_TOUCHSCREEN_MTOUCH is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_MK712 is not set
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_PIXCIR is not set
# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
CONFIG_TOUCHSCREEN_TSC2005=y
# CONFIG_TOUCHSCREEN_TSC2007 is not set
# CONFIG_TOUCHSCREEN_W90X900 is not set
# CONFIG_TOUCHSCREEN_ST1232 is not set
# CONFIG_TOUCHSCREEN_TPS6507X is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_BMA150 is not set
# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MPU3050 is not set
# CONFIG_INPUT_GP2A is not set
# CONFIG_INPUT_GPIO_TILT_POLLED is not set
# CONFIG_INPUT_ATI_REMOTE2 is not set
# CONFIG_INPUT_KEYSPAN_REMOTE is not set
# CONFIG_INPUT_KXTJ9 is not set
# CONFIG_INPUT_POWERMATE is not set
# CONFIG_INPUT_YEALINK is not set
# CONFIG_INPUT_CM109 is not set
CONFIG_INPUT_TWL4030_PWRBUTTON=y
# CONFIG_INPUT_TWL4030_VIBRA is not set
CONFIG_INPUT_UINPUT=y
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
# CONFIG_INPUT_ADXL34X is not set
# CONFIG_INPUT_CMA3000 is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_SERPORT=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_SERIO_ARC_PS2 is not set
# CONFIG_SERIO_APBPS2 is not set
# CONFIG_SERIO_OLPC_APSP is not set
# CONFIG_GAMEPORT is not set

#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
# CONFIG_LEGACY_PTYS is not set
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
CONFIG_DEVKMEM=y

#
# Serial drivers
#
# CONFIG_SERIAL_8250 is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX310X is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_OMAP=y
CONFIG_SERIAL_OMAP_CONSOLE=y
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_IFX6X60 is not set
# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_TTY_PRINTK is not set
# CONFIG_HVC_DCC is not set
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
# CONFIG_HW_RANDOM_ATMEL is not set
# CONFIG_HW_RANDOM_EXYNOS is not set
# CONFIG_R3964 is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=y
# CONFIG_I2C_MUX is not set
CONFIG_I2C_HELPER_AUTO=y

#
# I2C Hardware Bus support
#

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_CBUS_GPIO is not set
# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
# CONFIG_I2C_GPIO is not set
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_OMAP=y
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_PXA_PCI is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set

#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y

#
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_GPIO is not set
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_OC_TINY is not set
CONFIG_SPI_OMAP24XX=y
# CONFIG_SPI_PXA2XX_PCI is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_XCOMM is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_DESIGNWARE is not set

#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_HSI is not set

#
# PPS support
#
# CONFIG_PPS is not set

#
# PPS generators support
#

#
# PTP clock support
#
# CONFIG_PTP_1588_CLOCK is not set

#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
#
CONFIG_PINCTRL=y

#
# Pin controllers
#
# CONFIG_PINMUX is not set
# CONFIG_PINCONF is not set
# CONFIG_DEBUG_PINCTRL is not set
# CONFIG_PINCTRL_SINGLE is not set
CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
CONFIG_ARCH_REQUIRE_GPIOLIB=y
CONFIG_GPIO_DEVRES=y
CONFIG_GPIOLIB=y
CONFIG_OF_GPIO=y
CONFIG_DEBUG_GPIO=y
CONFIG_GPIO_SYSFS=y

#
# Memory mapped GPIO drivers:
#
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_EM is not set
# CONFIG_GPIO_RCAR is not set
# CONFIG_GPIO_TS5500 is not set
# CONFIG_GPIO_GRGPIO is not set

#
# I2C GPIO expanders:
#
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_TWL4030=y
# CONFIG_GPIO_ADP5588 is not set
# CONFIG_GPIO_ADNP is not set

#
# PCI GPIO expanders:
#

#
# SPI GPIO expanders:
#
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MCP23S08 is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_74X164 is not set

#
# AC97 GPIO expanders:
#

#
# MODULbus GPIO expanders:
#

#
# USB GPIO expanders:
#
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SBS is not set
# CONFIG_BATTERY_BQ27x00 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_TWL4030 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_MANAGER is not set
# CONFIG_CHARGER_BQ2415X is not set
# CONFIG_CHARGER_SMB347 is not set
# CONFIG_BATTERY_GOLDFISH is not set
# CONFIG_POWER_RESET is not set
# CONFIG_POWER_RESET_RESTART is not set
# CONFIG_POWER_AVS is not set
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
# CONFIG_SENSORS_AD7314 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADCXX is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7310 is not set
# CONFIG_SENSORS_ADT7410 is not set
# CONFIG_SENSORS_ADT7411 is not set
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_ASC7621 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS620 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_G762 is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_GPIO_FAN is not set
# CONFIG_SENSORS_HIH6130 is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_LINEAGE is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM70 is not set
# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_LM95234 is not set
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_LM95245 is not set
# CONFIG_SENSORS_MAX1111 is not set
# CONFIG_SENSORS_MAX16065 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX1668 is not set
# CONFIG_SENSORS_MAX197 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_MAX6697 is not set
# CONFIG_SENSORS_MCP3021 is not set
# CONFIG_SENSORS_NCT6775 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not set
# CONFIG_SENSORS_SHT15 is not set
# CONFIG_SENSORS_SHT21 is not set
# CONFIG_SENSORS_SMM665 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_EMC6W201 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SCH56XX_COMMON is not set
# CONFIG_SENSORS_SCH5627 is not set
# CONFIG_SENSORS_SCH5636 is not set
# CONFIG_SENSORS_ADS1015 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_ADS7871 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_INA209 is not set
# CONFIG_SENSORS_INA2XX is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83795 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_THERMAL is not set
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
# CONFIG_WATCHDOG_NOWAYOUT is not set

#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_DW_WATCHDOG is not set
CONFIG_OMAP_WATCHDOG=y
CONFIG_TWL4030_WATCHDOG=y
# CONFIG_MAX63XX_WATCHDOG is not set
# CONFIG_MEN_A21_WDT is not set

#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
CONFIG_SSB_POSSIBLE=y

#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
CONFIG_BCMA_POSSIBLE=y

#
# Broadcom specific AMBA
#
# CONFIG_BCMA is not set

#
# Multifunction device drivers
#
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_AS3711 is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_AAT2870_CORE is not set
# CONFIG_MFD_CROS_EC is not set
# CONFIG_MFD_ASIC3 is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9055 is not set
# CONFIG_MFD_MC13XXX_SPI is not set
# CONFIG_MFD_MC13XXX_I2C is not set
# CONFIG_HTC_EGPIO is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_HTC_I2CPLD is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_MAX77686 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX8907 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_EZX_PCAP is not set
# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_RETU is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SMSC is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_MFD_STMPE is not set
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TI_AM335X_TSCADC is not set
# CONFIG_MFD_LP8788 is not set
# CONFIG_MFD_PALMAS is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS65010 is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_TPS65217 is not set
# CONFIG_MFD_TPS6586X is not set
# CONFIG_MFD_TPS65910 is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912_SPI is not set
# CONFIG_MFD_TPS80031 is not set
CONFIG_TWL4030_CORE=y
# CONFIG_TWL4030_MADC is not set
CONFIG_TWL4030_POWER=y
# CONFIG_MFD_TWL4030_AUDIO is not set
# CONFIG_TWL6040_CORE is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_LM3533 is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_MFD_T7L66XB is not set
# CONFIG_MFD_TC6387XB is not set
# CONFIG_MFD_TC6393XB is not set
# CONFIG_MFD_ARIZONA_I2C is not set
# CONFIG_MFD_ARIZONA_SPI is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_VEXPRESS_CONFIG is not set
CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR_DUMMY is not set
CONFIG_REGULATOR_FIXED_VOLTAGE=y
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
# CONFIG_REGULATOR_GPIO is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_FAN53555 is not set
# CONFIG_REGULATOR_ISL6271A is not set
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MAX8973 is not set
# CONFIG_REGULATOR_LP3971 is not set
# CONFIG_REGULATOR_LP3972 is not set
# CONFIG_REGULATOR_LP872X is not set
# CONFIG_REGULATOR_LP8755 is not set
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
CONFIG_REGULATOR_TPS65023=y
CONFIG_REGULATOR_TPS6507X=y
# CONFIG_REGULATOR_TPS6524X is not set
CONFIG_REGULATOR_TWL4030=y
# CONFIG_REGULATOR_TI_ABB is not set
# CONFIG_MEDIA_SUPPORT is not set

#
# Graphics support
#
# CONFIG_DRM is not set
# CONFIG_TEGRA_HOST1X is not set
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
CONFIG_VIDEOMODE_HELPERS=y
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
# CONFIG_FB_DDC is not set
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=m
CONFIG_FB_CFB_COPYAREA=m
CONFIG_FB_CFB_IMAGEBLIT=m
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_SYS_FOPS is not set
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_UDL is not set
# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_FB_AUO_K190X is not set
# CONFIG_FB_SIMPLE is not set
CONFIG_OMAP2_VRFB=y
CONFIG_OMAP2_DSS=y
# CONFIG_OMAP2_DSS_DEBUG is not set
# CONFIG_OMAP2_DSS_DPI is not set
# CONFIG_OMAP2_DSS_RFBI is not set
CONFIG_OMAP2_DSS_VENC=y
CONFIG_OMAP4_DSS_HDMI=y
CONFIG_OMAP2_DSS_SDI=y
# CONFIG_OMAP2_DSS_DSI is not set
CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y
CONFIG_FB_OMAP2=m
# CONFIG_FB_OMAP2_DEBUG_SUPPORT is not set
CONFIG_FB_OMAP2_NUM_FBS=3

#
# OMAP2/3 Display Device Drivers (old device model)
#
CONFIG_PANEL_ACX565AKM=m

#
# OMAP Display Device Drivers (new device model)
#
# CONFIG_DISPLAY_ENCODER_TFP410 is not set
# CONFIG_DISPLAY_ENCODER_TPD12S015 is not set
# CONFIG_DISPLAY_CONNECTOR_DVI is not set
# CONFIG_DISPLAY_CONNECTOR_HDMI is not set
# CONFIG_DISPLAY_CONNECTOR_ANALOG_TV is not set
# CONFIG_DISPLAY_PANEL_DPI is not set
# CONFIG_DISPLAY_PANEL_DSI_CM is not set
# CONFIG_DISPLAY_PANEL_SONY_ACX565AKM is not set
# CONFIG_DISPLAY_PANEL_LGPHILIPS_LB035Q02 is not set
# CONFIG_DISPLAY_PANEL_SHARP_LS037V7DW01 is not set
# CONFIG_DISPLAY_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DISPLAY_PANEL_NEC_NL8048HL11 is not set
# CONFIG_EXYNOS_VIDEO is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
# CONFIG_LCD_L4F00242T03 is not set
# CONFIG_LCD_LMS283GF05 is not set
# CONFIG_LCD_LTV350QV is not set
# CONFIG_LCD_ILI922X is not set
# CONFIG_LCD_ILI9320 is not set
# CONFIG_LCD_TDO24M is not set
# CONFIG_LCD_VGG2432A4 is not set
CONFIG_LCD_PLATFORM=y
# CONFIG_LCD_S6E63M0 is not set
# CONFIG_LCD_LD9040 is not set
# CONFIG_LCD_AMS369FG06 is not set
# CONFIG_LCD_LMS501KF03 is not set
# CONFIG_LCD_HX8357 is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=y
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3630 is not set
# CONFIG_BACKLIGHT_LM3639 is not set
# CONFIG_BACKLIGHT_LP855X is not set
# CONFIG_BACKLIGHT_PANDORA is not set

#
# Console display driver support
#
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
# CONFIG_LOGO_LINUX_VGA16 is not set
# CONFIG_LOGO_LINUX_CLUT224 is not set
# CONFIG_FB_SSD1307 is not set
# CONFIG_SOUND is not set

#
# HID support
#
CONFIG_HID=y
# CONFIG_HID_BATTERY_STRENGTH is not set
# CONFIG_HIDRAW is not set
# CONFIG_UHID is not set
CONFIG_HID_GENERIC=y

#
# Special HID drivers
#
# CONFIG_HID_A4TECH is not set
# CONFIG_HID_ACRUX is not set
# CONFIG_HID_APPLE is not set
# CONFIG_HID_APPLEIR is not set
# CONFIG_HID_AUREAL is not set
# CONFIG_HID_BELKIN is not set
# CONFIG_HID_CHERRY is not set
# CONFIG_HID_CHICONY is not set
# CONFIG_HID_CYPRESS is not set
# CONFIG_HID_DRAGONRISE is not set
# CONFIG_HID_EMS_FF is not set
# CONFIG_HID_ELECOM is not set
# CONFIG_HID_ELO is not set
# CONFIG_HID_EZKEY is not set
# CONFIG_HID_HOLTEK is not set
# CONFIG_HID_HUION is not set
# CONFIG_HID_KEYTOUCH is not set
# CONFIG_HID_KYE is not set
# CONFIG_HID_UCLOGIC is not set
# CONFIG_HID_WALTOP is not set
# CONFIG_HID_GYRATION is not set
# CONFIG_HID_ICADE is not set
# CONFIG_HID_TWINHAN is not set
# CONFIG_HID_KENSINGTON is not set
# CONFIG_HID_LCPOWER is not set
# CONFIG_HID_LENOVO_TPKBD is not set
# CONFIG_HID_LOGITECH is not set
# CONFIG_HID_MAGICMOUSE is not set
# CONFIG_HID_MICROSOFT is not set
# CONFIG_HID_MONTEREY is not set
# CONFIG_HID_MULTITOUCH is not set
# CONFIG_HID_NTRIG is not set
# CONFIG_HID_ORTEK is not set
# CONFIG_HID_PANTHERLORD is not set
# CONFIG_HID_PETALYNX is not set
# CONFIG_HID_PICOLCD is not set
# CONFIG_HID_PRIMAX is not set
# CONFIG_HID_ROCCAT is not set
# CONFIG_HID_SAITEK is not set
# CONFIG_HID_SAMSUNG is not set
# CONFIG_HID_SPEEDLINK is not set
# CONFIG_HID_STEELSERIES is not set
# CONFIG_HID_SUNPLUS is not set
# CONFIG_HID_GREENASIA is not set
# CONFIG_HID_SMARTJOYPLUS is not set
# CONFIG_HID_TIVO is not set
# CONFIG_HID_TOPSEED is not set
# CONFIG_HID_THRUSTMASTER is not set
# CONFIG_HID_ZEROPLUS is not set
# CONFIG_HID_ZYDACRON is not set
# CONFIG_HID_SENSOR_HUB is not set

#
# USB HID support
#
CONFIG_USB_HID=y
# CONFIG_HID_PID is not set
# CONFIG_USB_HIDDEV is not set

#
# I2C HID support
#
# CONFIG_I2C_HID is not set
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
CONFIG_USB_DEBUG=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEFAULT_PERSIST=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
# CONFIG_USB_MON is not set
# CONFIG_USB_WUSB_CBAF is not set

#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
# CONFIG_USB_XHCI_HCD is not set
# CONFIG_USB_EHCI_HCD is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set
# CONFIG_USB_ISP1362_HCD is not set
# CONFIG_USB_FUSBH200_HCD is not set
# CONFIG_USB_OHCI_HCD is not set
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
CONFIG_USB_MUSB_HDRC=y
# CONFIG_USB_MUSB_HOST is not set
# CONFIG_USB_MUSB_GADGET is not set
CONFIG_USB_MUSB_DUAL_ROLE=y
# CONFIG_USB_MUSB_TUSB6010 is not set
CONFIG_USB_MUSB_OMAP2PLUS=y
# CONFIG_USB_MUSB_AM35X is not set
# CONFIG_USB_MUSB_DSPS is not set
# CONFIG_USB_MUSB_UX500 is not set
# CONFIG_USB_INVENTRA_DMA is not set
CONFIG_MUSB_PIO_ONLY=y
# CONFIG_USB_RENESAS_USBHS is not set

#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
# CONFIG_USB_STORAGE is not set

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_DWC3 is not set
# CONFIG_USB_CHIPIDEA is not set

#
# USB port drivers
#
# CONFIG_USB_SERIAL is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not set
# CONFIG_USB_EZUSB_FX2 is not set
# CONFIG_USB_HSIC_USB3503 is not set
CONFIG_USB_PHY=y
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_OMAP_CONTROL_USB is not set
# CONFIG_OMAP_USB2 is not set
# CONFIG_OMAP_USB3 is not set
# CONFIG_SAMSUNG_USB2PHY is not set
# CONFIG_SAMSUNG_USB3PHY is not set
CONFIG_TWL4030_USB=y
# CONFIG_USB_GPIO_VBUS is not set
# CONFIG_USB_ISP1301 is not set
# CONFIG_USB_RCAR_PHY is not set
# CONFIG_USB_ULPI is not set
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DEBUG=y
CONFIG_USB_GADGET_DEBUG_FILES=y
CONFIG_USB_GADGET_VBUS_DRAW=2
CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2

#
# USB Peripheral Controller
#
# CONFIG_USB_FUSB300 is not set
# CONFIG_USB_FOTG210_UDC is not set
# CONFIG_USB_R8A66597 is not set
# CONFIG_USB_PXA27X is not set
# CONFIG_USB_MV_UDC is not set
# CONFIG_USB_MV_U3D is not set
# CONFIG_USB_M66592 is not set
# CONFIG_USB_NET2272 is not set
# CONFIG_USB_DUMMY_HCD is not set
CONFIG_USB_LIBCOMPOSITE=m
CONFIG_USB_U_ETHER=m
CONFIG_USB_U_RNDIS=m
CONFIG_USB_F_ECM=m
CONFIG_USB_F_SUBSET=m
# CONFIG_USB_CONFIGFS is not set
# CONFIG_USB_ZERO is not set
CONFIG_USB_ETH=m
# CONFIG_USB_ETH_RNDIS is not set
# CONFIG_USB_ETH_EEM is not set
# CONFIG_USB_G_NCM is not set
# CONFIG_USB_GADGETFS is not set
# CONFIG_USB_FUNCTIONFS is not set
# CONFIG_USB_MASS_STORAGE is not set
# CONFIG_USB_G_SERIAL is not set
# CONFIG_USB_G_PRINTER is not set
# CONFIG_USB_CDC_COMPOSITE is not set
# CONFIG_USB_G_ACM_MS is not set
# CONFIG_USB_G_MULTI is not set
# CONFIG_USB_G_HID is not set
# CONFIG_USB_G_DBGP is not set
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_UNSAFE_RESUME=y
# CONFIG_MMC_CLKGATE is not set

#
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_SDIO_UART=y
# CONFIG_MMC_TEST is not set

#
# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_SDHCI is not set
# CONFIG_MMC_SDHCI_PXAV3 is not set
# CONFIG_MMC_SDHCI_PXAV2 is not set
CONFIG_MMC_OMAP=y
CONFIG_MMC_OMAP_HS=y
# CONFIG_MMC_DW is not set
# CONFIG_MMC_VUB300 is not set
# CONFIG_MMC_USHC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_EDAC is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_DS3232 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_ISL12022 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF2127 is not set
# CONFIG_RTC_DRV_PCF8523 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
CONFIG_RTC_DRV_TWL4030=y
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set

#
# SPI RTC drivers
#
# CONFIG_RTC_DRV_M41T93 is not set
# CONFIG_RTC_DRV_M41T94 is not set
# CONFIG_RTC_DRV_DS1305 is not set
# CONFIG_RTC_DRV_DS1390 is not set
# CONFIG_RTC_DRV_MAX6902 is not set
# CONFIG_RTC_DRV_R9701 is not set
# CONFIG_RTC_DRV_RS5C348 is not set
# CONFIG_RTC_DRV_DS3234 is not set
# CONFIG_RTC_DRV_PCF2123 is not set
# CONFIG_RTC_DRV_RX4581 is not set

#
# Platform RTC drivers
#
# CONFIG_RTC_DRV_CMOS is not set
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_BQ4802 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_V3020 is not set
# CONFIG_RTC_DRV_DS2404 is not set

#
# on-CPU RTC drivers
#
# CONFIG_RTC_DRV_SNVS is not set

#
# HID Sensor RTC drivers
#
# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set

#
# DMA Devices
#
# CONFIG_DW_DMAC_CORE is not set
# CONFIG_DW_DMAC is not set
# CONFIG_TIMB_DMA is not set
# CONFIG_TI_EDMA is not set
CONFIG_DMA_OMAP=y
CONFIG_DMA_ENGINE=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DMA_OF=y

#
# DMA Clients
#
# CONFIG_NET_DMA is not set
# CONFIG_ASYNC_TX_DMA is not set
# CONFIG_DMATEST is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
# CONFIG_VIRT_DRIVERS is not set

#
# Virtio drivers
#
# CONFIG_VIRTIO_MMIO is not set

#
# Microsoft Hyper-V guest support
#
# CONFIG_STAGING is not set
CONFIG_CLKDEV_LOOKUP=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y

#
# Common Clock Framework
#
# CONFIG_COMMON_CLK_DEBUG is not set
# CONFIG_COMMON_CLK_SI5351 is not set

#
# Hardware Spinlock drivers
#
CONFIG_CLKSRC_MMIO=y
# CONFIG_MAILBOX is not set
CONFIG_IOMMU_SUPPORT=y
CONFIG_OF_IOMMU=y
# CONFIG_OMAP_IOMMU is not set

#
# Remoteproc drivers
#
# CONFIG_STE_MODEM_RPROC is not set

#
# Rpmsg drivers
#
# CONFIG_PM_DEVFREQ is not set
# CONFIG_EXTCON is not set
# CONFIG_MEMORY is not set
# CONFIG_IIO is not set
# CONFIG_PWM is not set
CONFIG_IRQCHIP=y
# CONFIG_IPACK_BUS is not set
# CONFIG_RESET_CONTROLLER is not set
# CONFIG_FMC is not set

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT23=y
# CONFIG_EXT4_FS_POSIX_ACL is not set
# CONFIG_EXT4_FS_SECURITY is not set
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
# CONFIG_FS_POSIX_ACL is not set
# CONFIG_FILE_LOCKING is not set
# CONFIG_FSNOTIFY is not set
# CONFIG_DNOTIFY is not set
# CONFIG_INOTIFY_USER is not set
# CONFIG_FANOTIFY is not set
# CONFIG_QUOTA is not set
# CONFIG_QUOTACTL is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set

#
# Caches
#
# CONFIG_FSCACHE is not set

#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set

#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_TMPFS_XATTR is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_CONFIGFS_FS=m
# CONFIG_MISC_FILESYSTEMS is not set
# CONFIG_NETWORK_FILESYSTEMS is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_MAC_ROMAN is not set
# CONFIG_NLS_MAC_CELTIC is not set
# CONFIG_NLS_MAC_CENTEURO is not set
# CONFIG_NLS_MAC_CROATIAN is not set
# CONFIG_NLS_MAC_CYRILLIC is not set
# CONFIG_NLS_MAC_GAELIC is not set
# CONFIG_NLS_MAC_GREEK is not set
# CONFIG_NLS_MAC_ICELAND is not set
# CONFIG_NLS_MAC_INUIT is not set
# CONFIG_NLS_MAC_ROMANIAN is not set
# CONFIG_NLS_MAC_TURKISH is not set
# CONFIG_NLS_UTF8 is not set
# CONFIG_DLM is not set

#
# Kernel hacking
#

#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=7
# CONFIG_BOOT_PRINTK_DELAY is not set

#
# Compile-time checks and compiler options
#
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_INFO_REDUCED is not set
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_READABLE_ASM is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_FRAME_POINTER=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_KERNEL=y

#
# Memory Debugging
#
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_HIGHMEM is not set
# CONFIG_DEBUG_SHIRQ is not set

#
# Debug Lockups and Hangs
#
# CONFIG_LOCKUP_DETECTOR is not set
# CONFIG_DETECT_HUNG_TASK is not set
# CONFIG_PANIC_ON_OOPS is not set
CONFIG_PANIC_ON_OOPS_VALUE=0
# CONFIG_SCHED_DEBUG is not set
# CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set

#
# Lock Debugging (spinlocks, mutexes, etc...)
#
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_DEBUG_WRITECOUNT is not set
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_CREDENTIALS is not set

#
# RCU Debugging
#
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_RING_BUFFER_ALLOW_SWAP=y
CONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set

#
# Runtime Testing
#
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_KPROBES_SANITY_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_RBTREE_TEST is not set
# CONFIG_INTERVAL_TREE_TEST is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
# CONFIG_STRICT_DEVMEM is not set
# CONFIG_ARM_UNWIND is not set
# CONFIG_DEBUG_USER is not set
CONFIG_DEBUG_LL=y
CONFIG_DEBUG_OMAP2PLUS_UART=y
# CONFIG_DEBUG_ICEDCC is not set
# CONFIG_DEBUG_SEMIHOSTING is not set
# CONFIG_DEBUG_OMAP2UART1 is not set
# CONFIG_DEBUG_OMAP2UART2 is not set
# CONFIG_DEBUG_OMAP2UART3 is not set
CONFIG_DEBUG_OMAP3UART3=y
# CONFIG_DEBUG_OMAP4UART3 is not set
# CONFIG_DEBUG_OMAP3UART4 is not set
# CONFIG_DEBUG_OMAP4UART4 is not set
# CONFIG_DEBUG_TI81XXUART1 is not set
# CONFIG_DEBUG_TI81XXUART2 is not set
# CONFIG_DEBUG_TI81XXUART3 is not set
# CONFIG_DEBUG_AM33XXUART1 is not set
# CONFIG_DEBUG_ZOOM_UART is not set
CONFIG_DEBUG_LL_INCLUDE="debug/omap2plus.S"
CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
CONFIG_EARLY_PRINTK=y
# CONFIG_ARM_KPROBES_TEST is not set
# CONFIG_PID_IN_CONTEXTIDR is not set

#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITYFS is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
# CONFIG_CRYPTO_FIPS is not set
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=m
# CONFIG_CRYPTO_MANAGER is not set
# CONFIG_CRYPTO_MANAGER2 is not set
# CONFIG_CRYPTO_USER is not set
# CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_CRYPTD is not set
# CONFIG_CRYPTO_AUTHENC is not set
# CONFIG_CRYPTO_TEST is not set

#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_SEQIV is not set

#
# Block modes
#
# CONFIG_CRYPTO_CBC is not set
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
# CONFIG_CRYPTO_ECB is not set
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_XTS is not set

#
# Hash modes
#
# CONFIG_CRYPTO_CMAC is not set
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_VMAC is not set

#
# Digest
#
CONFIG_CRYPTO_CRC32C=y
# CONFIG_CRYPTO_CRC32 is not set
# CONFIG_CRYPTO_CRCT10DIF is not set
# CONFIG_CRYPTO_GHASH is not set
# CONFIG_CRYPTO_MD4 is not set
# CONFIG_CRYPTO_MD5 is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_RMD128 is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA1_ARM is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_WP512 is not set

#
# Ciphers
#
CONFIG_CRYPTO_AES=y
# CONFIG_CRYPTO_AES_ARM is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_DES is not set
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SEED is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_TWOFISH is not set

#
# Compression
#
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_ZLIB is not set
# CONFIG_CRYPTO_LZO is not set
# CONFIG_CRYPTO_LZ4 is not set
# CONFIG_CRYPTO_LZ4HC is not set

#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
# CONFIG_CRYPTO_USER_API_HASH is not set
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
CONFIG_CRYPTO_HW=y
# CONFIG_CRYPTO_DEV_OMAP_SHAM is not set
# CONFIG_CRYPTO_DEV_OMAP_AES is not set
# CONFIG_BINARY_PRINTF is not set

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IO=y
# CONFIG_CRC_CCITT is not set
CONFIG_CRC16=y
# CONFIG_CRC_T10DIF is not set
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC7 is not set
# CONFIG_LIBCRC32C is not set
# CONFIG_CRC8 is not set
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
# CONFIG_XZ_DEC is not set
# CONFIG_XZ_DEC_BCJ is not set
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_DQL=y
CONFIG_NLATTR=y
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
# CONFIG_AVERAGE is not set
# CONFIG_CORDIC is not set
# CONFIG_DDR is not set
CONFIG_FONT_SUPPORT=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_FONT_6x11 is not set
# CONFIG_FONT_7x14 is not set
# CONFIG_FONT_PEARL_8x8 is not set
# CONFIG_FONT_ACORN_8x8 is not set
# CONFIG_FONT_MINI_4x6 is not set
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set
# CONFIG_VIRTUALIZATION is not set

A.

2013-07-16 18:26:09

by Aaro Koskinen

[permalink] [raw]
Subject: Re: v3.11-rc1 USB regressions

Hi,

On Tue, Jul 16, 2013 at 11:22:47AM +0300, Felipe Balbi wrote:
> > On Tue, Jul 16, 2013 at 12:30:00PM +0530, Kishon Vijay Abraham I wrote:
> > > On Tuesday 16 July 2013 12:03 PM, Daniel Mack wrote:
> > > > Hi Aaro,
> > > >
> > > > On 16.07.2013 00:56, Aaro Koskinen wrote:
> > > >> Hi,
> > > >>
> > > >> I think USB tree introduced regressions in v3.11-rc1, at least for some
> > > >> OMAP devices using legacy boot.
> > > >
> > > > Thanks for checking the tree so early.
> > > >
> > > >> I have only bisected these; I have no
> > > >> idea what the real fixes are but the following reverts make Nokia OMAP2+
> > > >> boards again usable for kernel development work (they need working USB
> > > >> connection for interacting with the device):
> > > >>
> > > >> 1) USB peripheral mode (g_ether) is broken on Nokia N900, N950 and N9
> > > >> (USB_MUSB_OMAP2PLUS). To make it it work, I need to revert three
> > > >> commits:
> > > >>
> > > >> 09fc7d22b024692b2fe8a943b246de1af307132b
> > > >> usb: musb: fix incorrect usage of resource pointer
> > > >> (Reverting this fixes the g_ether probe failure "couldn't find
> > > >> an available UDC")
> > >
> > > I've posted a patch fixing the issue
> > > http://comments.gmane.org/gmane.linux.usb.general/89541
> > > There were some comments on it. I'll be posting a new version for it.
> >
> > hmm, n8x0 used tusb6010, so perhaps a similar patch needs to be cooked
> > for that too. Right now, let's to the minimum fix, which is just to
> > increment the array size to 3 and for v3.12 we do the changes that I
> > suggested.
>
> this should solve the problem on n900 and n8x0, it's pretty much
> kishon's original patch, so I guess it deserves his authorship:

Thanks, and yes it fixes this issue. I tested both N900 and N800, so
feel free to add my Tested-by.

> diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c
> index 6708a3b..f44e8b5 100644
> --- a/drivers/usb/musb/omap2430.c
> +++ b/drivers/usb/musb/omap2430.c
> @@ -481,7 +481,7 @@ static u64 omap2430_dmamask = DMA_BIT_MASK(32);
>
> static int omap2430_probe(struct platform_device *pdev)
> {
> - struct resource musb_resources[2];
> + struct resource musb_resources[3];
> struct musb_hdrc_platform_data *pdata = pdev->dev.platform_data;
> struct omap_musb_board_data *data;
> struct platform_device *musb;
> @@ -581,6 +581,11 @@ static int omap2430_probe(struct platform_device *pdev)
> musb_resources[1].end = pdev->resource[1].end;
> musb_resources[1].flags = pdev->resource[1].flags;
>
> + musb_resources[2].name = pdev->resource[2].name;
> + musb_resources[2].start = pdev->resource[2].start;
> + musb_resources[2].end = pdev->resource[2].end;
> + musb_resources[2].flags = pdev->resource[2].flags;
> +
> ret = platform_device_add_resources(musb, musb_resources,
> ARRAY_SIZE(musb_resources));
> if (ret) {
> diff --git a/drivers/usb/musb/tusb6010.c b/drivers/usb/musb/tusb6010.c
> index 2c06a89..6f8a9ca 100644
> --- a/drivers/usb/musb/tusb6010.c
> +++ b/drivers/usb/musb/tusb6010.c
> @@ -1156,7 +1156,7 @@ static u64 tusb_dmamask = DMA_BIT_MASK(32);
>
> static int tusb_probe(struct platform_device *pdev)
> {
> - struct resource musb_resources[2];
> + struct resource musb_resources[3];
> struct musb_hdrc_platform_data *pdata = pdev->dev.platform_data;
> struct platform_device *musb;
> struct tusb6010_glue *glue;
> @@ -1199,6 +1199,11 @@ static int tusb_probe(struct platform_device *pdev)
> musb_resources[1].end = pdev->resource[1].end;
> musb_resources[1].flags = pdev->resource[1].flags;
>
> + musb_resources[2].name = pdev->resource[2].name;
> + musb_resources[2].start = pdev->resource[2].start;
> + musb_resources[2].end = pdev->resource[2].end;
> + musb_resources[2].flags = pdev->resource[2].flags;
> +
> ret = platform_device_add_resources(musb, musb_resources,
> ARRAY_SIZE(musb_resources));
> if (ret) {
>
> --
> balbi

A.

2013-07-16 18:29:58

by Daniel Mack

[permalink] [raw]
Subject: Re: v3.11-rc1 USB regressions

On 16.07.2013 20:26, Aaro Koskinen wrote:
> Hi,
>
> On Tue, Jul 16, 2013 at 11:22:47AM +0300, Felipe Balbi wrote:
>>> On Tue, Jul 16, 2013 at 12:30:00PM +0530, Kishon Vijay Abraham I wrote:
>>>> On Tuesday 16 July 2013 12:03 PM, Daniel Mack wrote:
>>>>> Hi Aaro,
>>>>>
>>>>> On 16.07.2013 00:56, Aaro Koskinen wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I think USB tree introduced regressions in v3.11-rc1, at least for some
>>>>>> OMAP devices using legacy boot.
>>>>>
>>>>> Thanks for checking the tree so early.
>>>>>
>>>>>> I have only bisected these; I have no
>>>>>> idea what the real fixes are but the following reverts make Nokia OMAP2+
>>>>>> boards again usable for kernel development work (they need working USB
>>>>>> connection for interacting with the device):
>>>>>>
>>>>>> 1) USB peripheral mode (g_ether) is broken on Nokia N900, N950 and N9
>>>>>> (USB_MUSB_OMAP2PLUS). To make it it work, I need to revert three
>>>>>> commits:
>>>>>>
>>>>>> 09fc7d22b024692b2fe8a943b246de1af307132b
>>>>>> usb: musb: fix incorrect usage of resource pointer
>>>>>> (Reverting this fixes the g_ether probe failure "couldn't find
>>>>>> an available UDC")
>>>>
>>>> I've posted a patch fixing the issue
>>>> http://comments.gmane.org/gmane.linux.usb.general/89541
>>>> There were some comments on it. I'll be posting a new version for it.
>>>
>>> hmm, n8x0 used tusb6010, so perhaps a similar patch needs to be cooked
>>> for that too. Right now, let's to the minimum fix, which is just to
>>> increment the array size to 3 and for v3.12 we do the changes that I
>>> suggested.
>>
>> this should solve the problem on n900 and n8x0, it's pretty much
>> kishon's original patch, so I guess it deserves his authorship:
>
> Thanks, and yes it fixes this issue. I tested both N900 and N800, so
> feel free to add my Tested-by.

Together with my patch I take it? Does your Tested-by apply to this one
as well?


Thanks,
Daniel

2013-07-16 18:34:54

by Aaro Koskinen

[permalink] [raw]
Subject: Re: v3.11-rc1 USB regressions

On Tue, Jul 16, 2013 at 08:30:21PM +0200, Daniel Mack wrote:
> On 16.07.2013 20:26, Aaro Koskinen wrote:
> > Hi,
> >
> > On Tue, Jul 16, 2013 at 11:22:47AM +0300, Felipe Balbi wrote:
> >>> On Tue, Jul 16, 2013 at 12:30:00PM +0530, Kishon Vijay Abraham I wrote:
> >>>> On Tuesday 16 July 2013 12:03 PM, Daniel Mack wrote:
> >>>>> Hi Aaro,
> >>>>>
> >>>>> On 16.07.2013 00:56, Aaro Koskinen wrote:
> >>>>>> Hi,
> >>>>>>
> >>>>>> I think USB tree introduced regressions in v3.11-rc1, at least for some
> >>>>>> OMAP devices using legacy boot.
> >>>>>
> >>>>> Thanks for checking the tree so early.
> >>>>>
> >>>>>> I have only bisected these; I have no
> >>>>>> idea what the real fixes are but the following reverts make Nokia OMAP2+
> >>>>>> boards again usable for kernel development work (they need working USB
> >>>>>> connection for interacting with the device):
> >>>>>>
> >>>>>> 1) USB peripheral mode (g_ether) is broken on Nokia N900, N950 and N9
> >>>>>> (USB_MUSB_OMAP2PLUS). To make it it work, I need to revert three
> >>>>>> commits:
> >>>>>>
> >>>>>> 09fc7d22b024692b2fe8a943b246de1af307132b
> >>>>>> usb: musb: fix incorrect usage of resource pointer
> >>>>>> (Reverting this fixes the g_ether probe failure "couldn't find
> >>>>>> an available UDC")
> >>>>
> >>>> I've posted a patch fixing the issue
> >>>> http://comments.gmane.org/gmane.linux.usb.general/89541
> >>>> There were some comments on it. I'll be posting a new version for it.
> >>>
> >>> hmm, n8x0 used tusb6010, so perhaps a similar patch needs to be cooked
> >>> for that too. Right now, let's to the minimum fix, which is just to
> >>> increment the array size to 3 and for v3.12 we do the changes that I
> >>> suggested.
> >>
> >> this should solve the problem on n900 and n8x0, it's pretty much
> >> kishon's original patch, so I guess it deserves his authorship:
> >
> > Thanks, and yes it fixes this issue. I tested both N900 and N800, so
> > feel free to add my Tested-by.
>
> Together with my patch I take it? Does your Tested-by apply to this one
> as well?

I tested also that one (ARM: omap2: fix musb usage for n8x0), so yes,
it's for both patches.

A.

2013-07-24 18:51:28

by Aaro Koskinen

[permalink] [raw]
Subject: Re: v3.11-rc1 USB regressions

Hi,

On Tue, Jul 16, 2013 at 08:57:10PM +0300, Aaro Koskinen wrote:
> On Tue, Jul 16, 2013 at 08:33:06AM +0200, Daniel Mack wrote:
> > > fe4cb0912f8e737f8e4b8b38b9e692f8062f5423
> > > usb: musb: gadget: remove hcd initialization
> > > (Reverting this fixes error "cdc_ether: probe of 4-1:1.0 failed
> > > with error -110" seen on the host side.)
> >
> > Which role does your musb-based hardware have in this case, and which
> > MUSB_* config symbols do you set? You should have USB_MUSB_GADGET.
>
> Here are full details:
>
> Kernel v3.11-rc1 and the following USB fixes:
> ARM: omap2: fix musb usage for n8x0
> musb: omap: Fix: pass all the resources to musb core

[...]

> When I revert fe4cb0912f8e737f8e4b8b38b9e692f8062f5423 and
> 8b125df5b24cfb0ec7fa1971e343cc0badc1827d, it works like before (3.10):

I'm now running -rc2 with above fixes and reverts (the only way to get
USB working). I'm seeing an additional issue, the following crash happens
always on N900 when doing "poweroff":

[ 33.198699] musb-hdrc musb-hdrc.0.auto: remove, state 4
[ 33.206817] usb usb1: USB disconnect, device number 1
[ 33.215332] musb-hdrc musb-hdrc.0.auto: USB bus 1 deregistered
[ 33.225128] Unable to handle kernel NULL pointer dereference at virtual address 00000028
[ 33.236083] pgd = c0914000
[ 33.241149] [00000028] *pgd=8efc8831, *pte=00000000, *ppte=00000000
[ 33.250213] Internal error: Oops: 17 [#1] ARM
[ 33.257141] Modules linked in: usb_f_ecm g_ether u_ether libcomposite configfs omapfb cfbcopyarea cfbimgblt cfbfillrect panel_acx565akm
[ 33.275146] CPU: 0 PID: 760 Comm: poweroff Not tainted 3.11.0-rc2-n9xx #1
[ 33.284881] task: cefb8680 ti: c08c6000 task.ti: c08c6000
[ 33.293151] PC is at usb_remove_hcd+0x10/0x178
[ 33.300384] LR is at musb_gadget_stop+0x184/0x1a8
[ 33.307830] pc : [<c02499d0>] lr : [<c0261688>] psr: 20000013
[ 33.307830] sp : c08c7da0 ip : c08c7dc0 fp : c08c7dbc
[ 33.324920] r10: 00000000 r9 : c08c6000 r8 : 20000013
[ 33.332916] r7 : cf814010 r6 : cf814fa0 r5 : cf814fa0 r4 : 00000000
[ 33.342315] r3 : c0262b80 r2 : 00000001 r1 : c0d9edd0 r0 : 00000000
[ 33.351715] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 33.361846] Control: 10c5387d Table: 80914019 DAC: 00000015
[ 33.370483] Process poweroff (pid: 760, stack limit = 0xc08c6238)
[ 33.379486] Stack: (0xc08c7da0 to 0xc08c8000)
[ 33.386627] 7da0: c0262b80 00000000 00000000 cf814fa0 c08c7de4 c08c7dc0 c0261688 c02499cc
[ 33.397918] 7dc0: c0261504 cef2d200 cf814fa0 cf93fc44 c0d9d698 c0c8bb9c c08c7dfc c08c7de8
[ 33.409149] 7de0: c0262dd8 c0261510 bf03f3a4 cef2d200 c08c7e14 c08c7e00 c0263894 c0262d60
[ 33.420440] 7e00: cf814010 cf93fc10 c08c7e24 c08c7e18 c0261c80 c026380c c08c7e3c c08c7e28
[ 33.431732] 7e20: c025b2a4 c0261c78 cf93fc1c cf93fc10 c08c7e4c c08c7e40 c01e88ec c025b27c
[ 33.443023] 7e40: c08c7e74 c08c7e50 c01e55d0 c01e88d8 00000000 4321fedc 4321fedc 00070784
[ 33.454315] 7e60: fee1dead c000e848 c08c7e84 c08c7e78 c00553c4 c01e55ac c08c7fa4 c08c7e88
[ 33.465606] 7e80: c0055658 c0055394 ffffffff 00000000 00000020 cef3add0 c0c72f6c 00000000
[ 33.476898] 7ea0: c08c7ecc c08c7eb0 c017a914 c01791d0 00000001 00000001 c0c74078 00000000
[ 33.488159] 7ec0: c08c7efc c08c7ed0 c00524b8 c017a8e8 00000001 00000007 c0337640 c0c5d9e4
[ 33.499328] 7ee0: b6e5d670 c08c7fb0 00000000 b6f28000 c08c7fac c08c7f00 c0008514 c033764c
[ 33.510498] 7f00: 00000000 c08c7f04 c08c7f04 7fffffff cefc1c00 00000000 00000001 00000010
[ 33.521667] 7f20: 00000002 00000000 00000000 c08c7f00 cefc1c00 cef4da00 00000000 cefc1c00
[ 33.532836] 7f40: cf803858 cf8037d4 c00e0528 00000000 c08c7f84 c08c7f60 c00ea404 c00d1bb0
[ 33.544067] 7f60: 00000000 00000000 00000004 00000055 00000024 c000e848 c08c7fa4 c08c7f88
[ 33.555297] 7f80: c00e0698 c00ea3a4 00000001 00000004 00000055 00000058 00000000 c08c7fa8
[ 33.566528] 7fa0: c000e6a0 c00554a4 00000001 00000004 fee1dead 28121969 4321fedc 00070784
[ 33.577789] 7fc0: 00000001 00000004 00000055 00000058 00000000 00000000 b6f28000 00000000
[ 33.589080] 7fe0: b6e5d740 be88ccc0 000605f8 b6e5d758 60000010 fee1dead 8fefe821 8fefec21
[ 33.600402] Backtrace:
[ 33.605621] [<c02499c0>] (usb_remove_hcd+0x0/0x178) from [<c0261688>] (musb_gadget_stop+0x184/0x1a8)
[ 33.620666] r5:cf814fa0 r4:00000000
[ 33.627166] [<c0261504>] (musb_gadget_stop+0x0/0x1a8) from [<c0262dd8>] (usb_gadget_remove_driver+0x84/0xa4)
[ 33.643005] r8:c0c8bb9c r7:c0d9d698 r6:cf93fc44 r5:cf814fa0 r4:cef2d200
r3:c0261504
[ 33.656890] [<c0262d54>] (usb_gadget_remove_driver+0x0/0xa4) from [<c0263894>] (usb_del_gadget_udc+0x94/0xd4)
[ 33.673065] r4:cef2d200 r3:bf03f3a4
[ 33.679718] [<c0263800>] (usb_del_gadget_udc+0x0/0xd4) from [<c0261c80>] (musb_gadget_cleanup+0x14/0x18)
[ 33.695465] r5:cf93fc10 r4:cf814010
[ 33.702178] [<c0261c6c>] (musb_gadget_cleanup+0x0/0x18) from [<c025b2a4>] (musb_shutdown+0x34/0x94)
[ 33.717651] [<c025b270>] (musb_shutdown+0x0/0x94) from [<c01e88ec>] (platform_drv_shutdown+0x20/0x24)
[ 33.733489] r5:cf93fc10 r4:cf93fc1c
[ 33.740325] [<c01e88cc>] (platform_drv_shutdown+0x0/0x24) from [<c01e55d0>] (device_shutdown+0x30/0x164)
[ 33.756652] [<c01e55a0>] (device_shutdown+0x0/0x164) from [<c00553c4>] (kernel_halt+0x3c/0x60)
[ 33.769042] r8:c000e848 r7:fee1dead r6:00070784 r5:4321fedc r4:4321fedc
r3:00000000
[ 33.783905] [<c0055388>] (kernel_halt+0x0/0x60) from [<c0055658>] (SyS_reboot+0x1c0/0x1dc)
[ 33.795959] [<c0055498>] (SyS_reboot+0x0/0x1dc) from [<c000e6a0>] (ret_fast_syscall+0x0/0x30)
[ 33.808227] r7:00000058 r6:00000055 r5:00000004 r4:00000001
[ 33.817565] Code: e1a0c00d e92dd830 e24cb004 e24dd008 (e5903028)
[ 33.827331] ---[ end trace 2bdce85d64d6c523 ]---
[ 33.835418] Kernel panic - not syncing: Fatal exception

A.

2013-07-24 19:04:44

by Daniel Mack

[permalink] [raw]
Subject: Re: v3.11-rc1 USB regressions

Hi Aaro,

On 24.07.2013 20:51, Aaro Koskinen wrote:
> On Tue, Jul 16, 2013 at 08:57:10PM +0300, Aaro Koskinen wrote:

>> Here are full details:
>>
>> Kernel v3.11-rc1 and the following USB fixes:
>> ARM: omap2: fix musb usage for n8x0
>> musb: omap: Fix: pass all the resources to musb core
>
> [...]
>
>> When I revert fe4cb0912f8e737f8e4b8b38b9e692f8062f5423 and
>> 8b125df5b24cfb0ec7fa1971e343cc0badc1827d, it works like before (3.10):
>
> I'm now running -rc2 with above fixes and reverts (the only way to get
> USB working). I'm seeing an additional issue, the following crash happens
> always on N900 when doing "poweroff":

Yes, with the mentioned patches reverted, musb_to_hcd() will return a
faulty pointer. You can't easily revert them unfortunately.

Your platform needs a real fix, I just have trouble understanding why a
removed usb_add_hcd() would make the gadget code fail.

Sorry for the trouble, but I don't currently have a board with musb in
gadget mode to reproduce this issue.


Thanks,
Daniel

2013-07-25 00:30:40

by Aaro Koskinen

[permalink] [raw]
Subject: Re: v3.11-rc1 USB regressions

Hi,

On Wed, Jul 24, 2013 at 09:04:28PM +0200, Daniel Mack wrote:
> On 24.07.2013 20:51, Aaro Koskinen wrote:
> >> When I revert fe4cb0912f8e737f8e4b8b38b9e692f8062f5423 and
> >> 8b125df5b24cfb0ec7fa1971e343cc0badc1827d, it works like before (3.10):
> >
> > I'm now running -rc2 with above fixes and reverts (the only way to get
> > USB working). I'm seeing an additional issue, the following crash happens
> > always on N900 when doing "poweroff":
>
> Yes, with the mentioned patches reverted, musb_to_hcd() will return a
> faulty pointer. You can't easily revert them unfortunately.
>
> Your platform needs a real fix, I just have trouble understanding why a
> removed usb_add_hcd() would make the gadget code fail.
>
> Sorry for the trouble, but I don't currently have a board with musb in
> gadget mode to reproduce this issue.

If you have any ideas what to look for, I can maybe try to debug this
issue.

Below are some logs with additional DEBUGs enabled.

Broken:

[ 4.111480] udc musb-hdrc.0.auto: registering UDC driver [g_ether]
[ 4.136962] using random self ethernet address
[ 4.144134] using random host ethernet address
[ 4.151000] g_ether gadget: adding config #1 'CDC Ethernet (ECM)'/bf03f2c0
[ 4.160552] g_ether gadget: adding 'cdc_ethernet'/cef92e40 to config 'CDC Ethernet (ECM)'/bf03f2c0
[ 4.186828] usb0: HOST MAC f6:4a:86:02:5d:ec
[ 4.193939] usb0: MAC 26:e9:7c:49:4a:2e
[ 4.200256] g_ether gadget: CDC Ethernet: dual speed IN/ep1in OUT/ep1out NOTIFY/ep2in
[ 4.210906] g_ether gadget: cfg 1/bf03f2c0 speeds: high full
[ 4.219207] g_ether gadget: interface 0 = cdc_ethernet/cef92e40
[ 4.227874] g_ether gadget: interface 1 = cdc_ethernet/cef92e40
[ 4.236480] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
[ 4.245635] g_ether gadget: g_ether ready
[ 4.261627] twl4030_usb twl4030_usb: twl4030_phy_resume
[ 4.281433] usb0: eth_open
[ 4.560974] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb000d tx0001 rx0000
[ 4.570983] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0xd
[ 4.579681] musb-hdrc musb-hdrc.0.auto: SUSPEND (b_idle) devctl 99
[ 4.588378] musb-hdrc musb-hdrc.0.auto: BUS RESET as b_peripheral
[ 4.596984] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55df0
[ 4.607055] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 18 buf cef1a000
[ 4.617248] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 4.627044] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 4.728790] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb000c tx0001 rx0000
[ 4.738616] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0xc
[ 4.747222] musb-hdrc musb-hdrc.0.auto: BUS RESET as b_peripheral
[ 4.755645] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55df0
[ 4.765533] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 4.775207] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 4.784637] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 4.794281] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 4.802703] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55df0
[ 4.812500] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 18 buf cef1a000
[ 4.822509] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 4.832153] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 4.840576] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55dd0
[ 4.850372] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 9 buf cef1a000
[ 4.860198] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 4.869781] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 4.878112] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55ce8
[ 4.887847] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 64 buf cef1a000
[ 4.897674] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 4.907257] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 4.915588] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 24 buf cef1a040
[ 4.925506] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 4.935089] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 4.943450] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55ce8
[ 4.953247] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 4 buf cef1a000
[ 4.963012] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 4.972595] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 4.980926] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55ce8
[ 4.990692] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 32 buf cef1a000
[ 5.000549] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 5.010101] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.018432] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55ce8
[ 5.028167] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 64 buf cef1a000
[ 5.038024] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 5.047576] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.055908] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 52 buf cef1a040
[ 5.065765] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 5.075378] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.083740] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55ce8
[ 5.093536] g_ether gadget: high-speed config #1: CDC Ethernet (ECM)
[ 5.102172] g_ether gadget: init ecm
[ 5.107818] g_ether gadget: notify connect false
[ 5.114562] musb-hdrc musb-hdrc.0.auto: TX ep2 fifo fa0ab028 count 8 buf c08d53c0

Working (with the reverts):

[ 4.106201] udc musb-hdrc.0.auto: registering UDC driver [g_ether]
[ 4.130065] using random self ethernet address
[ 4.137237] using random host ethernet address
[ 4.144134] g_ether gadget: adding config #1 'CDC Ethernet (ECM)'/bf03f2c0
[ 4.153656] g_ether gadget: adding 'cdc_ethernet'/cef3a9c0 to config 'CDC Ethernet (ECM)'/bf03f2c0
[ 4.179870] usb0: HOST MAC 72:08:7d:47:a9:e4
[ 4.186981] usb0: MAC 4a:07:75:00:12:7e
[ 4.193298] g_ether gadget: CDC Ethernet: dual speed IN/ep1in OUT/ep1out NOTIFY/ep2in
[ 4.203918] g_ether gadget: cfg 1/bf03f2c0 speeds: high full
[ 4.212219] g_ether gadget: interface 0 = cdc_ethernet/cef3a9c0
[ 4.220916] g_ether gadget: interface 1 = cdc_ethernet/cef3a9c0
[ 4.229522] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
[ 4.238616] g_ether gadget: g_ether ready
[ 4.254211] twl4030_usb twl4030_usb: twl4030_phy_resume
[ 4.262084] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
[ 4.270263] musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 1
[ 4.280761] musb-hdrc musb-hdrc.0.auto: supports USB remote wakeup
[ 4.289581] usb usb1: default language 0x0409
[ 4.296356] usb usb1: udev 1, busnum 1, minor = 0
[ 4.303527] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 4.312927] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 4.322753] usb usb1: Product: MUSB HDRC host driver
[ 4.330230] usb usb1: Manufacturer: Linux 3.11.0-rc2-n9xx-00003-gd4a7806-dirty musb-hcd
[ 4.340942] usb usb1: SerialNumber: musb-hdrc.0.auto
[ 4.349884] usb usb1: usb_probe_device
[ 4.356170] usb usb1: configuration #1 chosen from 1 choice
[ 4.364379] usb usb1: adding 1-0:1.0 (config #1, interface 0)
[ 4.383575] hub 1-0:1.0: usb_probe_interface
[ 4.390502] hub 1-0:1.0: usb_probe_interface - got id
[ 4.397918] hub 1-0:1.0: USB hub found
[ 4.403961] hub 1-0:1.0: 1 port detected
[ 4.410095] hub 1-0:1.0: standalone hub
[ 4.416046] hub 1-0:1.0: individual port power switching
[ 4.423553] hub 1-0:1.0: no over-current protection
[ 4.430664] hub 1-0:1.0: Single TT
[ 4.436126] hub 1-0:1.0: TT requires at most 8 FS bit times (666 ns)
[ 4.444793] hub 1-0:1.0: power on to power good time: 10ms
[ 4.452545] hub 1-0:1.0: local power source is good
[ 4.459747] hub 1-0:1.0: enabling power on all ports
[ 4.479187] usb0: eth_open
[ 4.522949] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0001 tx0000 rx0000
[ 4.532714] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x1
[ 4.541137] musb-hdrc musb-hdrc.0.auto: SUSPEND (b_idle) devctl 99
[ 4.567230] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
[ 4.574951] hub 1-0:1.0: hub_suspend
[ 4.580596] usb usb1: bus auto-suspend, wakeup 1
[ 4.647338] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0004 tx0000 rx0000
[ 4.656921] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x4
[ 4.665252] musb-hdrc musb-hdrc.0.auto: BUS RESET as b_peripheral
[ 4.758178] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 4.767730] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 4.776123] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55df0
[ 4.785949] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 18 buf cefba000
[ 4.795928] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 4.805572] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 4.814086] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb000c tx0000 rx0000
[ 4.823760] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0xc
[ 4.832244] musb-hdrc musb-hdrc.0.auto: BUS RESET as b_peripheral
[ 4.905944] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 4.915618] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 4.924102] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55df0
[ 4.934082] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 4.943786] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 4.953857] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 4.963531] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 4.971984] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55df0
[ 4.981842] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 18 buf cefba000
[ 4.991790] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 5.001434] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.009857] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55df0
[ 5.019653] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 9 buf cefba000
[ 5.029449] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 5.039031] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.047424] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55df0
[ 5.057189] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 64 buf cefba000
[ 5.067047] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 5.076629] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.085021] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 24 buf cefba040
[ 5.094940] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 5.104522] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.112915] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55d08
[ 5.122741] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 4 buf cefba000
[ 5.132537] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 5.142120] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.150512] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55d08
[ 5.160278] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 32 buf cefba000
[ 5.170135] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 5.179687] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.188018] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55d08
[ 5.197784] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 64 buf cefba000
[ 5.207611] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 5.217163] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.225524] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 52 buf cefba040
[ 5.235382] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 5.244964] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.253356] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55d08
[ 5.263153] g_ether gadget: high-speed config #1: CDC Ethernet (ECM)
[ 5.271759] g_ether gadget: init ecm
[ 5.277435] g_ether gadget: notify connect false
[ 5.284179] musb-hdrc musb-hdrc.0.auto: TX ep2 fifo fa0ab028 count 8 buf c08f33c0
[ 5.294067] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 5.303771] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.312255] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55d08
[ 5.322113] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 64 buf cefba000
[ 5.332092] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 5.341796] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.350280] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 2 buf cefba040
[ 5.360168] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 5.369873] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.378387] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55d08
[ 5.388305] g_ether gadget: activate ecm
[ 5.394439] usb0: qlen 10
[ 5.399139] g_ether gadget: ecm_open
[ 5.404907] usb0: eth_start
[ 5.409881] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 5.419677] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.428222] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55d08
[ 5.438171] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 26 buf cefba000
[ 5.448211] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 5.457946] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.466430] musb-hdrc musb-hdrc.0.auto: RX ep0 fifo fa0ab020 count 8 buf c0c55d08
[ 5.476318] musb-hdrc musb-hdrc.0.auto: TX ep0 fifo fa0ab020 count 36 buf cefba000
[ 5.486297] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0001 rx0000
[ 5.495941] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.548889] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0004 rx0000
[ 5.558563] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.566986] g_ether gadget: notify connect true
[ 5.573730] musb-hdrc musb-hdrc.0.auto: TX ep2 fifo fa0ab028 count 8 buf c08f33c0
[ 5.612884] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0004 rx0000
[ 5.622619] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.631134] g_ether gadget: notify speed 425984000
[ 5.638214] musb-hdrc musb-hdrc.0.auto: TX ep2 fifo fa0ab028 count 16 buf c08f33c0
[ 5.676879] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0004 rx0000
[ 5.686706] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.970092] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0000 rx0002
[ 5.979888] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 5.988494] musb-hdrc musb-hdrc.0.auto: RX ep1 fifo fa0ab024 count 78 buf ceecf002
[ 6.970275] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0000 rx0002
[ 6.980102] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 6.988677] musb-hdrc musb-hdrc.0.auto: RX ep1 fifo fa0ab024 count 70 buf ceecf802
[ 10.974395] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0000 rx0002
[ 10.984252] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 10.992858] musb-hdrc musb-hdrc.0.auto: RX ep1 fifo fa0ab024 count 70 buf cefdc002
[ 14.606536] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0000 rx0002
[ 14.616424] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 14.625091] musb-hdrc musb-hdrc.0.auto: RX ep1 fifo fa0ab024 count 90 buf cefdc802
[ 14.982360] musb-hdrc musb-hdrc.0.auto: ** IRQ peripheral usb0008 tx0000 rx0002
[ 14.992248] musb-hdrc musb-hdrc.0.auto: <== DevCtl=99, int_usb=0x8
[ 15.000915] musb-hdrc musb-hdrc.0.auto: RX ep1 fifo fa0ab024 count 70 buf cefdd002

A.

2013-07-25 09:08:37

by Daniel Mack

[permalink] [raw]
Subject: Re: v3.11-rc1 USB regressions

On 25.07.2013 02:30, Aaro Koskinen wrote:
> On Wed, Jul 24, 2013 at 09:04:28PM +0200, Daniel Mack wrote:
>> On 24.07.2013 20:51, Aaro Koskinen wrote:
>>>> When I revert fe4cb0912f8e737f8e4b8b38b9e692f8062f5423 and
>>>> 8b125df5b24cfb0ec7fa1971e343cc0badc1827d, it works like before (3.10):
>>>
>>> I'm now running -rc2 with above fixes and reverts (the only way to get
>>> USB working). I'm seeing an additional issue, the following crash happens
>>> always on N900 when doing "poweroff":
>>
>> Yes, with the mentioned patches reverted, musb_to_hcd() will return a
>> faulty pointer. You can't easily revert them unfortunately.
>>
>> Your platform needs a real fix, I just have trouble understanding why a
>> removed usb_add_hcd() would make the gadget code fail.
>>
>> Sorry for the trouble, but I don't currently have a board with musb in
>> gadget mode to reproduce this issue.
>
> If you have any ideas what to look for, I can maybe try to debug this
> issue.

Please try changing the .mode field of musb_board_data to MUSB_OTG in
your board file (arch/arm/mach-omap2/board-rx51.c). That should bring
back the call to usb_add_hcd(), provided that you have USB_MUSB_DUAL_ROLE=y.

I still don't see a reason why this is should be necessary for
peripheral-only use though.


Daniel