* [ARM] head.S change broke platform device registration? @ 2012-11-30 1:38 Marko Katić 2012-11-30 10:28 ` Marc Zyngier 2012-11-30 12:17 ` Dave Martin 0 siblings, 2 replies; 24+ messages in thread From: Marko Katić @ 2012-11-30 1:38 UTC (permalink / raw) To: linux-arm-kernel I recently tried to boot v3.7-rc7 on my akita (Sharp Zaurus C-1000, PXA270 machine). Backlight never turned on but the kernel booted just fine. After some investigation i determined that the gpio expander (max7310, i2c chip) is not even registered and thus not present in /sys/bus/i2c/devices. Backlight gpio controls are hooked to this chip thus, no backlight. I thought that too many things could have caused this so i went straight to bisecting. Bisection pointed me to this commit: commit 424e5994e63326a42012f003f1174f3c363c7b62 Author: Dave Martin <dave.martin@linaro.org> Date: Fri Feb 10 18:07:07 2012 -0800 ARM: zImage/virt: hyp mode entry support for the zImage loader The zImage loader needs to turn on the MMU in order to take advantage of caching while decompressing the zImage. Running this in hyp mode would require the LPAE pagetable format to be supported; to avoid this complexity, this patch switches out of hyp mode, and returns back to hyp mode just before booting the kernel. This implementation assumes that the Hyp mode view of memory and the PL1 view of memory are coherent, providing that the MMU and caches are off in both, as required by the boot protocol. The zImage decompression code must drain the write buffer on completion anyway, and entry into Hyp mode should flush any prefetch buffer, avoiding hazards associated with local write buffers and the pipeline. Signed-off-by: Dave Martin <dave.martin@linaro.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> This commit was merged in v3.7-rc1. And indeed, if i revert this single commit, my gpio expander reappears and so does my backlight. I made no other changes to the vanilla 3.7-rc7 except this revert. This seems very strange to me because i, with my limited knowledge, cannot see any correlation between this commit and the bug i am experiencing. Does anyone know what exactly is happening here? ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-11-30 1:38 [ARM] head.S change broke platform device registration? Marko Katić @ 2012-11-30 10:28 ` Marc Zyngier 2012-11-30 12:20 ` Marko Katić 2012-11-30 12:17 ` Dave Martin 1 sibling, 1 reply; 24+ messages in thread From: Marc Zyngier @ 2012-11-30 10:28 UTC (permalink / raw) To: linux-arm-kernel On 30/11/12 01:38, Marko Kati? wrote: > I recently tried to boot v3.7-rc7 on my akita (Sharp Zaurus C-1000, > PXA270 machine). > Backlight never turned on but the kernel booted just fine. > After some investigation i determined that the gpio expander (max7310, > i2c chip) is not even > registered and thus not present in /sys/bus/i2c/devices. > Backlight gpio controls are hooked to this chip thus, no backlight. > > I thought that too many things could have caused this so i went > straight to bisecting. > Bisection pointed me to this commit: > > commit 424e5994e63326a42012f003f1174f3c363c7b62 > Author: Dave Martin <dave.martin@linaro.org> > Date: Fri Feb 10 18:07:07 2012 -0800 > > ARM: zImage/virt: hyp mode entry support for the zImage loader > > The zImage loader needs to turn on the MMU in order to take > advantage of caching while decompressing the zImage. Running this > in hyp mode would require the LPAE pagetable format to be > supported; to avoid this complexity, this patch switches out of hyp > mode, and returns back to hyp mode just before booting the kernel. > > This implementation assumes that the Hyp mode view of memory and the > PL1 view of memory are coherent, providing that the MMU and caches > are off in both, as required by the boot protocol. The zImage > decompression code must drain the write buffer on completion anyway, and > entry into Hyp mode should flush any prefetch buffer, avoiding hazards > associated with local write buffers and the pipeline. > > Signed-off-by: Dave Martin <dave.martin@linaro.org> > Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> > > This commit was merged in v3.7-rc1. And indeed, if i > revert this single commit, my gpio expander reappears and > so does my backlight. > I made no other changes to the vanilla 3.7-rc7 > except this revert. > > This seems very strange to me because i, with my limited knowledge, > cannot see any correlation between this commit and the bug i am experiencing. > > Does anyone know what exactly is happening here? This is incredibly puzzling. I could understand your board not booting at all because of this patch, but an i2c device missing? Can you see the i2c controller at all? I'll try to dig my PXA270 board and see if I can reproduce your issue. M. -- Jazz is not dead. It just smells funny... ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-11-30 10:28 ` Marc Zyngier @ 2012-11-30 12:20 ` Marko Katić 2012-11-30 13:45 ` Marc Zyngier 2012-11-30 14:34 ` Russell King - ARM Linux 0 siblings, 2 replies; 24+ messages in thread From: Marko Katić @ 2012-11-30 12:20 UTC (permalink / raw) To: linux-arm-kernel > This is incredibly puzzling. I could understand your board not booting > at all because of this patch, but an i2c device missing? > > Can you see the i2c controller at all? I'll try to dig my PXA270 board > and see if I can reproduce your issue. > > M. > -- > Jazz is not dead. It just smells funny... > There are three i2c devices on my board: static struct i2c_board_info spitz_i2c_devs[] = { { .type = "wm8750", .addr = 0x1b, }, { .type = "max7310", .addr = 0x18, .platform_data = &akita_pca953x_pdata, }, }; These two are on bus 0. static struct i2c_board_info spitz_pi2c_devs[] = { { .type = "isl6271a", .addr = 0x0c, .platform_data = &isl6271a_info, }, }; This one is on bus 1. With commit 424e5994e63326a42012f003f1174f3c363c7b62 applied Only the max7310 is missing, the other two register and work fine. Now, if i try to register _only_ the max7310 chip, it shows up but it doesn't work. In that case i get this: gpiochip_add: gpios 204..211 (max7310) failed to register pca953x: probe of 0-0018 failed with error -16 And then when i revert 424e5994e63326a42012f003f1174f3c363c7b62 and register _only_ the max7310, it works fine. ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-11-30 12:20 ` Marko Katić @ 2012-11-30 13:45 ` Marc Zyngier 2012-11-30 14:34 ` Russell King - ARM Linux 1 sibling, 0 replies; 24+ messages in thread From: Marc Zyngier @ 2012-11-30 13:45 UTC (permalink / raw) To: linux-arm-kernel On 30/11/12 12:20, Marko Kati? wrote: >> This is incredibly puzzling. I could understand your board not booting >> at all because of this patch, but an i2c device missing? >> >> Can you see the i2c controller at all? I'll try to dig my PXA270 board >> and see if I can reproduce your issue. >> >> M. >> -- >> Jazz is not dead. It just smells funny... >> > > There are three i2c devices on my board: > > static struct i2c_board_info spitz_i2c_devs[] = { > { > .type = "wm8750", > .addr = 0x1b, > }, { > .type = "max7310", > .addr = 0x18, > .platform_data = &akita_pca953x_pdata, > }, > }; > > These two are on bus 0. > > static struct i2c_board_info spitz_pi2c_devs[] = { > { > .type = "isl6271a", > .addr = 0x0c, > .platform_data = &isl6271a_info, > }, > }; > > This one is on bus 1. > > With commit 424e5994e63326a42012f003f1174f3c363c7b62 applied > Only the max7310 is missing, the other two register and work fine. > > Now, if i try to register _only_ the max7310 chip, it shows up but it doesn't > work. In that case i get this: > > gpiochip_add: gpios 204..211 (max7310) failed to register > pca953x: probe of 0-0018 failed with error -16 Right. So what you need to do is find out why GPIOs 204 to 211 are unavailable. Something must get clobbered one way or another. M. -- Jazz is not dead. It just smells funny... ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-11-30 12:20 ` Marko Katić 2012-11-30 13:45 ` Marc Zyngier @ 2012-11-30 14:34 ` Russell King - ARM Linux 2012-12-04 21:48 ` Marko Katić 1 sibling, 1 reply; 24+ messages in thread From: Russell King - ARM Linux @ 2012-11-30 14:34 UTC (permalink / raw) To: linux-arm-kernel On Fri, Nov 30, 2012 at 01:20:06PM +0100, Marko Kati? wrote: > There are three i2c devices on my board: > > static struct i2c_board_info spitz_i2c_devs[] = { > { > .type = "wm8750", > .addr = 0x1b, > }, { > .type = "max7310", > .addr = 0x18, > .platform_data = &akita_pca953x_pdata, > }, > }; > > These two are on bus 0. > > static struct i2c_board_info spitz_pi2c_devs[] = { > { > .type = "isl6271a", > .addr = 0x0c, > .platform_data = &isl6271a_info, > }, > }; > > This one is on bus 1. > > With commit 424e5994e63326a42012f003f1174f3c363c7b62 applied > Only the max7310 is missing, the other two register and work fine. > > Now, if i try to register _only_ the max7310 chip, it shows up but it doesn't > work. In that case i get this: > > gpiochip_add: gpios 204..211 (max7310) failed to register > pca953x: probe of 0-0018 failed with error -16 -16 is -EBUSY. This happens because this check fails: /* these GPIO numbers must not be managed by another gpio_chip */ for (id = base; id < base + chip->ngpio; id++) { if (gpio_desc[id].chip != NULL) { status = -EBUSY; break; } } and it basically means that the GPIO numbers have already been taken. There is another device in spitz.c that could occupy the same space, and that's the scoop 2 device - but that won't be registered if your platform is Akita. Hang on a moment - look at how the I2C devices are registered: int size = ARRAY_SIZE(spitz_i2c_devs); /* Only Akita has the max7310 chip */ if (!machine_is_akita()) size--; i2c_register_board_info(0, spitz_i2c_devs, size); So, the first entry is _always_ registered, but the second entry is only registered if the platform is an Akita. This all sounds like the kernel isn't booting with the correct platform ID. Check the kernel messages - the first few, it tells you what platform it's booting for. And yes, you have CONFIG_PXA_SHARPSL_DETECT_MACH_ID enabled which inserts code into the decompressor to detect the platform type, and it's highly likely that some change has disrupted that code, though it still reads fine in the disassembly. My guess is there's a timing issue between the MMU turning off and the other accesses; knowing which platform you end up being identified as may help. ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-11-30 14:34 ` Russell King - ARM Linux @ 2012-12-04 21:48 ` Marko Katić 2012-12-04 22:18 ` Russell King - ARM Linux 0 siblings, 1 reply; 24+ messages in thread From: Marko Katić @ 2012-12-04 21:48 UTC (permalink / raw) To: linux-arm-kernel I have included the complete dmesg log of vanilla 3.7.0-rc7 in my previous mail. Here's a relevant snippet of it: Linux version 3.7.0-rc7+ (dromede at dromedary) (gcc version 4.7.2 (GCC) ) #63 PREEMPT Fri Nov 30 13:49:35 CET 2012 CPU: XScale-PXA270 [69054117] revision 7 (ARMv5TE), cr=0000397f CPU: VIVT data cache, VIVT instruction cache Machine: SHARP Akita Memory policy: ECC disabled, Data cache writeback BUG: mapping for 0x00000000 at 0xff000000 out of vmalloc space .... Sharp Scoop Device found at 0x10800000 -> 0xc4846000 It does seem that the kernel boots with the correct platform id. I doubt that the second scoop device somehow got registered and blocked those gpio numbers. It would fail to register, this would be visible in dmesg output. Also, the second scoop device starts at 0x08800040. So the above registered scoop device is scoop device 1. ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-12-04 21:48 ` Marko Katić @ 2012-12-04 22:18 ` Russell King - ARM Linux 2012-12-05 22:18 ` Marko Katić 0 siblings, 1 reply; 24+ messages in thread From: Russell King - ARM Linux @ 2012-12-04 22:18 UTC (permalink / raw) To: linux-arm-kernel On Tue, Dec 04, 2012 at 10:48:56PM +0100, Marko Kati? wrote: > I have included the complete dmesg log of vanilla 3.7.0-rc7 in my > previous mail. > Here's a relevant snippet of it: > > Linux version 3.7.0-rc7+ (dromede at dromedary) (gcc version 4.7.2 (GCC) > ) #63 PREEMPT Fri Nov 30 13:49:35 CET 2012 > CPU: XScale-PXA270 [69054117] revision 7 (ARMv5TE), cr=0000397f > CPU: VIVT data cache, VIVT instruction cache > Machine: SHARP Akita > Memory policy: ECC disabled, Data cache writeback > BUG: mapping for 0x00000000 at 0xff000000 out of vmalloc space > > .... > > Sharp Scoop Device found at 0x10800000 -> 0xc4846000 > > > It does seem that the kernel boots with the correct platform id. > I doubt that the second scoop device somehow got registered > and blocked those gpio numbers. It would fail to register, this would > be visible in dmesg output. Also, the second scoop device starts at > 0x08800040. So the above registered scoop device is scoop device 1. Ok, so the correct boot ID throws my theory out, but I don't see anything else that would claim those GPIOs and prevent the MAX device registering its GPIOs. You're going to have to boot -rc7, mount debugfs and read /sys/kernel/debug/gpio to find out what is claiming those GPIOs that the MAX device wants to use. There is only _one_ other device for PXA for Sharp devices which is hard-coded to the same GPIO numbers and that's the Scoop 2 device - but that's not registered for the !machine_is_akita() case. Everything you've reported points to machine_is_akita() being false, which it won't be given your Machine: line above. So.. I don't know, and no one can explain the behaviour you're seeing. ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-12-04 22:18 ` Russell King - ARM Linux @ 2012-12-05 22:18 ` Marko Katić 2012-12-05 23:58 ` Russell King - ARM Linux 0 siblings, 1 reply; 24+ messages in thread From: Marko Katić @ 2012-12-05 22:18 UTC (permalink / raw) To: linux-arm-kernel > You're going to have to boot -rc7, mount debugfs and read > /sys/kernel/debug/gpio to find out what is claiming those GPIOs that > the MAX device wants to use. There is only _one_ other device for PXA > for Sharp devices which is hard-coded to the same GPIO numbers and that's > the Scoop 2 device - but that's not registered for the !machine_is_akita() > case. > > Everything you've reported points to machine_is_akita() being false, which > it won't be given your Machine: line above. > > So.. I don't know, and no one can explain the behaviour you're seeing. No. I messed up. Dmesg log i posted earlier was from 3.7.0-rc7 with 424e5994e63326a42012f003f1174f3c363c7b62 reverted. Russell, your theory was correct, vanilla 3.7.0-rc7 on an akita, with the .config i posted earlier, will boot with machine id == borzoi. So machine_is_akita () is false and max7310 won't be registered. This also explains why i get clobbered gpio lines when i tried to explicitly register just the max7310. Since the kernel boots with machine id == borzoi, it wil also register the second scoop device before max7310 init and max7310 probe will fail. Now, why does it register as borzoi? Well, i looked at my .config (same one i posted earlier) and i noticed this: CONFIG_MACH_AKITA=y CONFIG_MACH_SPITZ=y CONFIG_MACH_BORZOI=y Akita and spitz should be defined, spitz gets defined automatically if you define akita. There's no reason for CONFIG_MACH_BORZOI=y, i probably forgot to deselect it. So i disable CONFIG_MACH_BORZOI, recompile and try to boot vanilla 3.7.0-rc7. Now it hangs right after "Uncompressing Linux... done, booting the kernel." Naturally, reverting 424e5994e63326a42012f003f1174f3c363c7b62 makes everything work normal. ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-12-05 22:18 ` Marko Katić @ 2012-12-05 23:58 ` Russell King - ARM Linux 2012-12-07 12:28 ` Russell King - ARM Linux 2012-12-10 17:21 ` Marko Katić 0 siblings, 2 replies; 24+ messages in thread From: Russell King - ARM Linux @ 2012-12-05 23:58 UTC (permalink / raw) To: linux-arm-kernel On Wed, Dec 05, 2012 at 11:18:47PM +0100, Marko Kati? wrote: > > You're going to have to boot -rc7, mount debugfs and read > > /sys/kernel/debug/gpio to find out what is claiming those GPIOs that > > the MAX device wants to use. There is only _one_ other device for PXA > > for Sharp devices which is hard-coded to the same GPIO numbers and that's > > the Scoop 2 device - but that's not registered for the !machine_is_akita() > > case. > > > > Everything you've reported points to machine_is_akita() being false, which > > it won't be given your Machine: line above. > > > > So.. I don't know, and no one can explain the behaviour you're seeing. > > No. I messed up. Dmesg log i posted earlier was from 3.7.0-rc7 with > 424e5994e63326a42012f003f1174f3c363c7b62 reverted. Russell, > your theory was correct, vanilla 3.7.0-rc7 on an akita, with the .config > i posted earlier, will boot with machine id == borzoi. So > machine_is_akita () is false and max7310 > won't be registered. Great, thanks for confirming my theory. > This also explains why i get clobbered gpio lines > when i tried to explicitly register just the > max7310. Since the kernel boots with machine id == borzoi, it wil also > register the second scoop device > before max7310 init and max7310 probe will fail. > > Now, why does it register as borzoi? Well, i looked at my .config > (same one i posted earlier) and i noticed > this: > > CONFIG_MACH_AKITA=y > CONFIG_MACH_SPITZ=y > CONFIG_MACH_BORZOI=y > > Akita and spitz should be defined, spitz gets defined automatically if > you define akita. There's no reason for > CONFIG_MACH_BORZOI=y, i probably forgot to deselect it. So i disable > CONFIG_MACH_BORZOI, recompile and try to > boot vanilla 3.7.0-rc7. Now it hangs right after "Uncompressing > Linux... done, booting the kernel." Naturally, > reverting 424e5994e63326a42012f003f1174f3c363c7b62 makes everything work normal. That'll be because its still passing the BORZOI ID into the kernel which now isn't recognising it. The code which distinguishes between Borzoi and Akita is this: /* Check for a second SCOOP chip - if found we have Borzoi */ ldr r1, .SCOOP2ADDR ==cacheline boundary without patch (0x120)===== ldr r7, .BORZOIID mov r6, #0x0140 strh r6, [r1] ==cacheline boundary with patch (0x160)====== ldrh r6, [r1] cmp r6, #0x0140 beq .SHARPEND @ We have Borzoi /* Must be Akita */ ldr r7, .AKITAID b .SHARPEND @ We have Borzoi and I've marked where the cache line boundary ends up with the patch in place... except of course that the caches are off here, so the placement of the code should be irrelevant. It also would have the reverse results from those that you're experiencing. My guess is that because the Scoop2 device is not present, the strh access places 0x140 onto the data bus. By the time the ldrh is executed, it reads the data bus, and because nothing drives it, it reads back the value last present on the bus, which happens to be 0x140 - and this allows us to think we have the Scoop2 device. In theory, because the caches are off (including the instruction cache) the CPU should fetch ldrh between the strh write and the ldrh access to the same address. Having said all that, I'm not impressed by the above code; to write to a memory region which may or may not have a device, and immediately read it back is a recipe for exactly this kind of stuff happening. If anyone has looked at any real device detection code, they'll know that this sequence is typical: ldr r0, =address mov r1, #probe_data eor r2, r1, #~0 str r1, [r0, #reg1] str r2, [r0, #reg2] ldr r3, [r0, #reg1] ldr r0, [r0, #reg2] teq r1, r3 teqeq r2, r0 beq found This sequence _purposely_ writes the opposite value between the first store and the read-back of it to perturb the bus in case it's floating, to prevent exactly these kinds of false positives. The second check is additional belt and braces to make the check even more secure. Can we do that with Scoop2? I've no idea, I don't know what the weird 0x40 offset is that's being probed by this code. We need whoever wrote this code, but I suspect they've long since moved on and aren't interested in it. The alternative is we can rip out all this autodetection code and go in the exact opposite direction to arm-soc and force Sharp kernels to be built for the exact machine that they're to be run on. Not particularly desirable, but I don't have any other answers to this without more information about the hardware. ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-12-05 23:58 ` Russell King - ARM Linux @ 2012-12-07 12:28 ` Russell King - ARM Linux 2012-12-07 13:49 ` Dave Martin 2012-12-10 17:21 ` Marko Katić 1 sibling, 1 reply; 24+ messages in thread From: Russell King - ARM Linux @ 2012-12-07 12:28 UTC (permalink / raw) To: linux-arm-kernel On Wed, Dec 05, 2012 at 11:58:36PM +0000, Russell King - ARM Linux wrote: > On Wed, Dec 05, 2012 at 11:18:47PM +0100, Marko Kati? wrote: > > > You're going to have to boot -rc7, mount debugfs and read > > > /sys/kernel/debug/gpio to find out what is claiming those GPIOs that > > > the MAX device wants to use. There is only _one_ other device for PXA > > > for Sharp devices which is hard-coded to the same GPIO numbers and that's > > > the Scoop 2 device - but that's not registered for the !machine_is_akita() > > > case. > > > > > > Everything you've reported points to machine_is_akita() being false, which > > > it won't be given your Machine: line above. > > > > > > So.. I don't know, and no one can explain the behaviour you're seeing. > > > > No. I messed up. Dmesg log i posted earlier was from 3.7.0-rc7 with > > 424e5994e63326a42012f003f1174f3c363c7b62 reverted. Russell, > > your theory was correct, vanilla 3.7.0-rc7 on an akita, with the .config > > i posted earlier, will boot with machine id == borzoi. So > > machine_is_akita () is false and max7310 > > won't be registered. > > Great, thanks for confirming my theory. > > > This also explains why i get clobbered gpio lines > > when i tried to explicitly register just the > > max7310. Since the kernel boots with machine id == borzoi, it wil also > > register the second scoop device > > before max7310 init and max7310 probe will fail. > > > > Now, why does it register as borzoi? Well, i looked at my .config > > (same one i posted earlier) and i noticed > > this: > > > > CONFIG_MACH_AKITA=y > > CONFIG_MACH_SPITZ=y > > CONFIG_MACH_BORZOI=y > > > > Akita and spitz should be defined, spitz gets defined automatically if > > you define akita. There's no reason for > > CONFIG_MACH_BORZOI=y, i probably forgot to deselect it. So i disable > > CONFIG_MACH_BORZOI, recompile and try to > > boot vanilla 3.7.0-rc7. Now it hangs right after "Uncompressing > > Linux... done, booting the kernel." Naturally, > > reverting 424e5994e63326a42012f003f1174f3c363c7b62 makes everything work normal. > > That'll be because its still passing the BORZOI ID into the kernel which > now isn't recognising it. > > The code which distinguishes between Borzoi and Akita is this: > > /* Check for a second SCOOP chip - if found we have Borzoi */ > ldr r1, .SCOOP2ADDR > ==cacheline boundary without patch (0x120)===== > ldr r7, .BORZOIID > mov r6, #0x0140 > strh r6, [r1] > ==cacheline boundary with patch (0x160)====== > ldrh r6, [r1] > cmp r6, #0x0140 > beq .SHARPEND @ We have Borzoi > > /* Must be Akita */ > ldr r7, .AKITAID > b .SHARPEND @ We have Borzoi > > and I've marked where the cache line boundary ends up with the patch > in place... except of course that the caches are off here, so the > placement of the code should be irrelevant. It also would have the > reverse results from those that you're experiencing. > > My guess is that because the Scoop2 device is not present, the strh > access places 0x140 onto the data bus. By the time the ldrh is > executed, it reads the data bus, and because nothing drives it, it > reads back the value last present on the bus, which happens to be > 0x140 - and this allows us to think we have the Scoop2 device. > > In theory, because the caches are off (including the instruction > cache) the CPU should fetch ldrh between the strh write and the > ldrh access to the same address. > > Having said all that, I'm not impressed by the above code; to write to > a memory region which may or may not have a device, and immediately > read it back is a recipe for exactly this kind of stuff happening. If > anyone has looked at any real device detection code, they'll know that > this sequence is typical: > > ldr r0, =address > mov r1, #probe_data > eor r2, r1, #~0 > str r1, [r0, #reg1] > str r2, [r0, #reg2] > ldr r3, [r0, #reg1] > ldr r0, [r0, #reg2] > teq r1, r3 > teqeq r2, r0 > beq found > > This sequence _purposely_ writes the opposite value between the first > store and the read-back of it to perturb the bus in case it's floating, > to prevent exactly these kinds of false positives. The second check is > additional belt and braces to make the check even more secure. > > Can we do that with Scoop2? I've no idea, I don't know what the weird > 0x40 offset is that's being probed by this code. We need whoever wrote > this code, but I suspect they've long since moved on and aren't > interested in it. > > The alternative is we can rip out all this autodetection code and go > in the exact opposite direction to arm-soc and force Sharp kernels > to be built for the exact machine that they're to be run on. Not > particularly desirable, but I don't have any other answers to this > without more information about the hardware. I've checked with the guys at ARM and they're also at a loss to work out what to do about this regression. Having thought about this for quite a while, I think there's three options: 1. The Sharp Zaurus code is unmaintained. Declare it to be broken, and remove all the Sharp code from the kernel so that people aren't tempted to think it's something that the kernel supports. (In light of the lack of maintainer for these platforms which almost no one knows much about, that will lower the maintanence burden on everyone else.) 2. Revert the hyp-mode support and say that we can't accept _any_ change whatsoever to the decompressor head.S through fear that it will cause a regression for Sharp Zaurus platforms. (This effectively means we can't support virtualization on ARM - which is not acceptable.) 3. Revert the hyp-mode support and make it conditional on CPUs that have hyp-mode support. Out of those three, (3) is the best way forward. So, unless I hear any objections, I'm going to revert 424e5994e63 in mainline, and wait for a patch to safe_svcmode_maskall so that it can be switched between the hyp-mode version and the non-hyp-mode. This shouldn't be a problem for the single-zImage people; the break-point is the ARMv5/ARMv6 boundary which we're already keeping as separate kernels. ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-12-07 12:28 ` Russell King - ARM Linux @ 2012-12-07 13:49 ` Dave Martin 2012-12-10 17:23 ` Marko Katić 0 siblings, 1 reply; 24+ messages in thread From: Dave Martin @ 2012-12-07 13:49 UTC (permalink / raw) To: linux-arm-kernel On Fri, Dec 07, 2012 at 12:28:09PM +0000, Russell King - ARM Linux wrote: [...] > Having thought about this for quite a while, I think there's three > options: > > 1. The Sharp Zaurus code is unmaintained. Declare it to be broken, and > remove all the Sharp code from the kernel so that people aren't tempted > to think it's something that the kernel supports. (In light of the > lack of maintainer for these platforms which almost no one knows much > about, that will lower the maintanence burden on everyone else.) > > 2. Revert the hyp-mode support and say that we can't accept _any_ change > whatsoever to the decompressor head.S through fear that it will cause > a regression for Sharp Zaurus platforms. (This effectively means we > can't support virtualization on ARM - which is not acceptable.) > > 3. Revert the hyp-mode support and make it conditional on CPUs that have > hyp-mode support. > > Out of those three, (3) is the best way forward. So, unless I hear any > objections, I'm going to revert 424e5994e63 in mainline, and wait for a > patch to safe_svcmode_maskall so that it can be switched between the > hyp-mode version and the non-hyp-mode. > > This shouldn't be a problem for the single-zImage people; the break-point > is the ARMv5/ARMv6 boundary which we're already keeping as separate kernels. I've posted a separate patch which ought to accomplish the appropriate change to safe_svc_maskall ([PATCH] ARM: head: Remove boot-time HYP mode check for v5 and below) I've done a compile-disassemble sanity-check for v5 and v7 to make sure that the results are sane, but I can't check whether it fixed the problem for the affected hardware. Marko, can you give it a try? Cheers ---Dave ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-12-07 13:49 ` Dave Martin @ 2012-12-10 17:23 ` Marko Katić 2012-12-10 17:31 ` Dave Martin 0 siblings, 1 reply; 24+ messages in thread From: Marko Katić @ 2012-12-10 17:23 UTC (permalink / raw) To: linux-arm-kernel > I've posted a separate patch which ought to accomplish the appropriate > change to safe_svc_maskall > ([PATCH] ARM: head: Remove boot-time HYP mode check for v5 and below) > > I've done a compile-disassemble sanity-check for v5 and v7 to make sure > that the results are sane, but I can't check whether it fixed the > problem for the affected hardware. > > Marko, can you give it a try? > > Cheers > ---Dave > Yes, your patch fixes the problem. With this patch the kernel boots with the correct machine ID. ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-12-10 17:23 ` Marko Katić @ 2012-12-10 17:31 ` Dave Martin 0 siblings, 0 replies; 24+ messages in thread From: Dave Martin @ 2012-12-10 17:31 UTC (permalink / raw) To: linux-arm-kernel On Mon, Dec 10, 2012 at 06:23:44PM +0100, Marko Kati? wrote: > > I've posted a separate patch which ought to accomplish the appropriate > > change to safe_svc_maskall > > ([PATCH] ARM: head: Remove boot-time HYP mode check for v5 and below) > > > > I've done a compile-disassemble sanity-check for v5 and v7 to make sure > > that the results are sane, but I can't check whether it fixed the > > problem for the affected hardware. > > > > Marko, can you give it a try? > > > > Cheers > > ---Dave > > > > Yes, your patch fixes the problem. With this patch the kernel boots with the > correct machine ID. OK, that gives us confidence that this patch is useful. I'll send it to Russell's patch system so that he can decide about merging it. If you can get any more detail about what exactly is going on here, that would still be useful though. I still suspect that this patch should not be needed... but I'm happy to be proved wrong if the real cause is found. Cheers ---Dave ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-12-05 23:58 ` Russell King - ARM Linux 2012-12-07 12:28 ` Russell King - ARM Linux @ 2012-12-10 17:21 ` Marko Katić 2012-12-11 0:25 ` Russell King - ARM Linux 1 sibling, 1 reply; 24+ messages in thread From: Marko Katić @ 2012-12-10 17:21 UTC (permalink / raw) To: linux-arm-kernel > The code which distinguishes between Borzoi and Akita is this: > > /* Check for a second SCOOP chip - if found we have Borzoi */ > ldr r1, .SCOOP2ADDR > ==cacheline boundary without patch (0x120)===== > ldr r7, .BORZOIID > mov r6, #0x0140 > strh r6, [r1] > ==cacheline boundary with patch (0x160)====== > ldrh r6, [r1] > cmp r6, #0x0140 > beq .SHARPEND @ We have Borzoi > > /* Must be Akita */ > ldr r7, .AKITAID > b .SHARPEND @ We have Borzoi > > and I've marked where the cache line boundary ends up with the patch > in place... except of course that the caches are off here, so the > placement of the code should be irrelevant. It also would have the > reverse results from those that you're experiencing. > > My guess is that because the Scoop2 device is not present, the strh > access places 0x140 onto the data bus. By the time the ldrh is > executed, it reads the data bus, and because nothing drives it, it > reads back the value last present on the bus, which happens to be > 0x140 - and this allows us to think we have the Scoop2 device. > > In theory, because the caches are off (including the instruction > cache) the CPU should fetch ldrh between the strh write and the > ldrh access to the same address. > > Having said all that, I'm not impressed by the above code; to write to > a memory region which may or may not have a device, and immediately > read it back is a recipe for exactly this kind of stuff happening. If > anyone has looked at any real device detection code, they'll know that > this sequence is typical: > > ldr r0, =address > mov r1, #probe_data > eor r2, r1, #~0 > str r1, [r0, #reg1] > str r2, [r0, #reg2] > ldr r3, [r0, #reg1] > ldr r0, [r0, #reg2] > teq r1, r3 > teqeq r2, r0 > beq found > > This sequence _purposely_ writes the opposite value between the first > store and the read-back of it to perturb the bus in case it's floating, > to prevent exactly these kinds of false positives. The second check is > additional belt and braces to make the check even more secure. > > Can we do that with Scoop2? I've no idea, I don't know what the weird > 0x40 offset is that's being probed by this code. We need whoever wrote > this code, but I suspect they've long since moved on and aren't > interested in it. > > The alternative is we can rip out all this autodetection code and go > in the exact opposite direction to arm-soc and force Sharp kernels > to be built for the exact machine that they're to be run on. Not > particularly desirable, but I don't have any other answers to this > without more information about the hardware. The scoop device is a gate array, it's programming was never disclosed. It's datasheet can be found here (if it's of any use): http://www.penguin.cz/~utx/zaurus/datasheets/ASIC_S1L50752B26B200/ So the only documentation we have is the arm/common/scoop.c driver. Richard might have more information on it, I CC-ed him. ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-12-10 17:21 ` Marko Katić @ 2012-12-11 0:25 ` Russell King - ARM Linux 2012-12-12 15:55 ` Richard Purdie 0 siblings, 1 reply; 24+ messages in thread From: Russell King - ARM Linux @ 2012-12-11 0:25 UTC (permalink / raw) To: linux-arm-kernel On Mon, Dec 10, 2012 at 06:21:52PM +0100, Marko Kati? wrote: > > The code which distinguishes between Borzoi and Akita is this: > > > > /* Check for a second SCOOP chip - if found we have Borzoi */ > > ldr r1, .SCOOP2ADDR > > ==cacheline boundary without patch (0x120)===== > > ldr r7, .BORZOIID > > mov r6, #0x0140 > > strh r6, [r1] > > ==cacheline boundary with patch (0x160)====== > > ldrh r6, [r1] > > cmp r6, #0x0140 > > beq .SHARPEND @ We have Borzoi > > > > /* Must be Akita */ > > ldr r7, .AKITAID > > b .SHARPEND @ We have Borzoi > > > > and I've marked where the cache line boundary ends up with the patch > > in place... except of course that the caches are off here, so the > > placement of the code should be irrelevant. It also would have the > > reverse results from those that you're experiencing. > > > > My guess is that because the Scoop2 device is not present, the strh > > access places 0x140 onto the data bus. By the time the ldrh is > > executed, it reads the data bus, and because nothing drives it, it > > reads back the value last present on the bus, which happens to be > > 0x140 - and this allows us to think we have the Scoop2 device. > > > > In theory, because the caches are off (including the instruction > > cache) the CPU should fetch ldrh between the strh write and the > > ldrh access to the same address. > > > > Having said all that, I'm not impressed by the above code; to write to > > a memory region which may or may not have a device, and immediately > > read it back is a recipe for exactly this kind of stuff happening. If > > anyone has looked at any real device detection code, they'll know that > > this sequence is typical: > > > > ldr r0, =address > > mov r1, #probe_data > > eor r2, r1, #~0 > > str r1, [r0, #reg1] > > str r2, [r0, #reg2] > > ldr r3, [r0, #reg1] > > ldr r0, [r0, #reg2] > > teq r1, r3 > > teqeq r2, r0 > > beq found > > > > This sequence _purposely_ writes the opposite value between the first > > store and the read-back of it to perturb the bus in case it's floating, > > to prevent exactly these kinds of false positives. The second check is > > additional belt and braces to make the check even more secure. > > > > Can we do that with Scoop2? I've no idea, I don't know what the weird > > 0x40 offset is that's being probed by this code. We need whoever wrote > > this code, but I suspect they've long since moved on and aren't > > interested in it. > > > > The alternative is we can rip out all this autodetection code and go > > in the exact opposite direction to arm-soc and force Sharp kernels > > to be built for the exact machine that they're to be run on. Not > > particularly desirable, but I don't have any other answers to this > > without more information about the hardware. > > The scoop device is a gate array, it's programming was never disclosed. > It's datasheet can be found here (if it's of any use): > > http://www.penguin.cz/~utx/zaurus/datasheets/ASIC_S1L50752B26B200/ > > So the only documentation we have is the arm/common/scoop.c driver. > Richard might have more information on it, I CC-ed him. Or maybe Richard can suggest a more secure probing solution along the lines of the above given his experience with these platforms. ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-12-11 0:25 ` Russell King - ARM Linux @ 2012-12-12 15:55 ` Richard Purdie 2012-12-12 17:22 ` Marko Katić 2012-12-12 17:59 ` Russell King - ARM Linux 0 siblings, 2 replies; 24+ messages in thread From: Richard Purdie @ 2012-12-12 15:55 UTC (permalink / raw) To: linux-arm-kernel On Tue, 2012-12-11 at 00:25 +0000, Russell King - ARM Linux wrote: > On Mon, Dec 10, 2012 at 06:21:52PM +0100, Marko Kati? wrote: > > > The code which distinguishes between Borzoi and Akita is this: > > > > > > /* Check for a second SCOOP chip - if found we have Borzoi */ > > > ldr r1, .SCOOP2ADDR > > > ==cacheline boundary without patch (0x120)===== > > > ldr r7, .BORZOIID > > > mov r6, #0x0140 > > > strh r6, [r1] > > > ==cacheline boundary with patch (0x160)====== > > > ldrh r6, [r1] > > > cmp r6, #0x0140 > > > beq .SHARPEND @ We have Borzoi > > > > > > /* Must be Akita */ > > > ldr r7, .AKITAID > > > b .SHARPEND @ We have Borzoi > > > > > > and I've marked where the cache line boundary ends up with the patch > > > in place... except of course that the caches are off here, so the > > > placement of the code should be irrelevant. It also would have the > > > reverse results from those that you're experiencing. > > > > > > My guess is that because the Scoop2 device is not present, the strh > > > access places 0x140 onto the data bus. By the time the ldrh is > > > executed, it reads the data bus, and because nothing drives it, it > > > reads back the value last present on the bus, which happens to be > > > 0x140 - and this allows us to think we have the Scoop2 device. > > > > > > In theory, because the caches are off (including the instruction > > > cache) the CPU should fetch ldrh between the strh write and the > > > ldrh access to the same address. > > > > > > Having said all that, I'm not impressed by the above code; to write to > > > a memory region which may or may not have a device, and immediately > > > read it back is a recipe for exactly this kind of stuff happening. If > > > anyone has looked at any real device detection code, they'll know that > > > this sequence is typical: > > > > > > ldr r0, =address > > > mov r1, #probe_data > > > eor r2, r1, #~0 > > > str r1, [r0, #reg1] > > > str r2, [r0, #reg2] > > > ldr r3, [r0, #reg1] > > > ldr r0, [r0, #reg2] > > > teq r1, r3 > > > teqeq r2, r0 > > > beq found > > > > > > This sequence _purposely_ writes the opposite value between the first > > > store and the read-back of it to perturb the bus in case it's floating, > > > to prevent exactly these kinds of false positives. The second check is > > > additional belt and braces to make the check even more secure. > > > > > > Can we do that with Scoop2? I've no idea, I don't know what the weird > > > 0x40 offset is that's being probed by this code. We need whoever wrote > > > this code, but I suspect they've long since moved on and aren't > > > interested in it. I suspect this was me and I was missing some of the subtleties in this case. I think the eor to perturb the bus should be fine and fix this code. > > > The alternative is we can rip out all this autodetection code and go > > > in the exact opposite direction to arm-soc and force Sharp kernels > > > to be built for the exact machine that they're to be run on. Not > > > particularly desirable, but I don't have any other answers to this > > > without more information about the hardware. > > > > The scoop device is a gate array, it's programming was never disclosed. > > It's datasheet can be found here (if it's of any use): > > > > http://www.penguin.cz/~utx/zaurus/datasheets/ASIC_S1L50752B26B200/ > > > > So the only documentation we have is the arm/common/scoop.c driver. > > Richard might have more information on it, I CC-ed him. > > Or maybe Richard can suggest a more secure probing solution along the > lines of the above given his experience with these platforms. I think the proposal above should work. I don't have a borzoi device to test with however and have always been reliant on others for testing of that device detection. The above link is more documentation than I've ever seen before on scoop, I didn't have that when I wrote the driver, I just had to guess from other code from the Sharp 2.4 kernels. Cheers, Richard ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-12-12 15:55 ` Richard Purdie @ 2012-12-12 17:22 ` Marko Katić 2012-12-12 17:59 ` Russell King - ARM Linux 1 sibling, 0 replies; 24+ messages in thread From: Marko Katić @ 2012-12-12 17:22 UTC (permalink / raw) To: linux-arm-kernel >> Or maybe Richard can suggest a more secure probing solution along the >> lines of the above given his experience with these platforms. > > I think the proposal above should work. I don't have a borzoi device to > test with however and have always been reliant on others for testing of > that device detection. The above link is more documentation than I've > ever seen before on scoop, I didn't have that when I wrote the driver, I > just had to guess from other code from the Sharp 2.4 kernels. > > Cheers, > > Richard There might be another, simpler way of implementing autodetection. Spitz devices have a small NOR PROM chip that holds the bootloader, diagnostic menu and other things on it. Recently i have been informed that this chip also holds model ID information. So if it's possible to read the PROM chip that early in the boot process, autodetection could easily be implemented by just reading this model information. Here's some more info: http://lists.linuxtogo.org/pipermail/openembedded-devel/2009-January/007597.html ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-12-12 15:55 ` Richard Purdie 2012-12-12 17:22 ` Marko Katić @ 2012-12-12 17:59 ` Russell King - ARM Linux 2012-12-12 22:29 ` Richard Purdie 1 sibling, 1 reply; 24+ messages in thread From: Russell King - ARM Linux @ 2012-12-12 17:59 UTC (permalink / raw) To: linux-arm-kernel On Wed, Dec 12, 2012 at 03:55:45PM +0000, Richard Purdie wrote: > On Tue, 2012-12-11 at 00:25 +0000, Russell King - ARM Linux wrote: > > On Mon, Dec 10, 2012 at 06:21:52PM +0100, Marko Kati? wrote: > > > > The code which distinguishes between Borzoi and Akita is this: > > > > > > > > /* Check for a second SCOOP chip - if found we have Borzoi */ > > > > ldr r1, .SCOOP2ADDR > > > > ==cacheline boundary without patch (0x120)===== > > > > ldr r7, .BORZOIID > > > > mov r6, #0x0140 > > > > strh r6, [r1] > > > > ==cacheline boundary with patch (0x160)====== > > > > ldrh r6, [r1] > > > > cmp r6, #0x0140 > > > > beq .SHARPEND @ We have Borzoi > > > > > > > > /* Must be Akita */ > > > > ldr r7, .AKITAID > > > > b .SHARPEND @ We have Borzoi > > > > > > > > and I've marked where the cache line boundary ends up with the patch > > > > in place... except of course that the caches are off here, so the > > > > placement of the code should be irrelevant. It also would have the > > > > reverse results from those that you're experiencing. > > > > > > > > My guess is that because the Scoop2 device is not present, the strh > > > > access places 0x140 onto the data bus. By the time the ldrh is > > > > executed, it reads the data bus, and because nothing drives it, it > > > > reads back the value last present on the bus, which happens to be > > > > 0x140 - and this allows us to think we have the Scoop2 device. > > > > > > > > In theory, because the caches are off (including the instruction > > > > cache) the CPU should fetch ldrh between the strh write and the > > > > ldrh access to the same address. > > > > > > > > Having said all that, I'm not impressed by the above code; to write to > > > > a memory region which may or may not have a device, and immediately > > > > read it back is a recipe for exactly this kind of stuff happening. If > > > > anyone has looked at any real device detection code, they'll know that > > > > this sequence is typical: > > > > > > > > ldr r0, =address > > > > mov r1, #probe_data > > > > eor r2, r1, #~0 > > > > str r1, [r0, #reg1] > > > > str r2, [r0, #reg2] > > > > ldr r3, [r0, #reg1] > > > > ldr r0, [r0, #reg2] > > > > teq r1, r3 > > > > teqeq r2, r0 > > > > beq found > > > > > > > > This sequence _purposely_ writes the opposite value between the first > > > > store and the read-back of it to perturb the bus in case it's floating, > > > > to prevent exactly these kinds of false positives. The second check is > > > > additional belt and braces to make the check even more secure. > > > > > > > > Can we do that with Scoop2? I've no idea, I don't know what the weird > > > > 0x40 offset is that's being probed by this code. We need whoever wrote > > > > this code, but I suspect they've long since moved on and aren't > > > > interested in it. > > I suspect this was me and I was missing some of the subtleties in this > case. I think the eor to perturb the bus should be fine and fix this > code. Except... we're currently hitting the register at 0x08800040 (presumably a 64-byte offset) which doesn't appear in the scoop header file... so I'm not sure if this is a special register or not for this. Also we need to know another register for the 2nd access which isn't going to cause problems. Any suggestions? ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-12-12 17:59 ` Russell King - ARM Linux @ 2012-12-12 22:29 ` Richard Purdie 0 siblings, 0 replies; 24+ messages in thread From: Richard Purdie @ 2012-12-12 22:29 UTC (permalink / raw) To: linux-arm-kernel On Wed, 2012-12-12 at 17:59 +0000, Russell King - ARM Linux wrote: > On Wed, Dec 12, 2012 at 03:55:45PM +0000, Richard Purdie wrote: > > On Tue, 2012-12-11 at 00:25 +0000, Russell King - ARM Linux wrote: > > > On Mon, Dec 10, 2012 at 06:21:52PM +0100, Marko Kati? wrote: > > > > > The code which distinguishes between Borzoi and Akita is this: > > > > > > > > > > /* Check for a second SCOOP chip - if found we have Borzoi */ > > > > > ldr r1, .SCOOP2ADDR > > > > > ==cacheline boundary without patch (0x120)===== > > > > > ldr r7, .BORZOIID > > > > > mov r6, #0x0140 > > > > > strh r6, [r1] > > > > > ==cacheline boundary with patch (0x160)====== > > > > > ldrh r6, [r1] > > > > > cmp r6, #0x0140 > > > > > beq .SHARPEND @ We have Borzoi > > > > > > > > > > /* Must be Akita */ > > > > > ldr r7, .AKITAID > > > > > b .SHARPEND @ We have Borzoi > > > > > > > > > > and I've marked where the cache line boundary ends up with the patch > > > > > in place... except of course that the caches are off here, so the > > > > > placement of the code should be irrelevant. It also would have the > > > > > reverse results from those that you're experiencing. > > > > > > > > > > My guess is that because the Scoop2 device is not present, the strh > > > > > access places 0x140 onto the data bus. By the time the ldrh is > > > > > executed, it reads the data bus, and because nothing drives it, it > > > > > reads back the value last present on the bus, which happens to be > > > > > 0x140 - and this allows us to think we have the Scoop2 device. > > > > > > > > > > In theory, because the caches are off (including the instruction > > > > > cache) the CPU should fetch ldrh between the strh write and the > > > > > ldrh access to the same address. > > > > > > > > > > Having said all that, I'm not impressed by the above code; to write to > > > > > a memory region which may or may not have a device, and immediately > > > > > read it back is a recipe for exactly this kind of stuff happening. If > > > > > anyone has looked at any real device detection code, they'll know that > > > > > this sequence is typical: > > > > > > > > > > ldr r0, =address > > > > > mov r1, #probe_data > > > > > eor r2, r1, #~0 > > > > > str r1, [r0, #reg1] > > > > > str r2, [r0, #reg2] > > > > > ldr r3, [r0, #reg1] > > > > > ldr r0, [r0, #reg2] > > > > > teq r1, r3 > > > > > teqeq r2, r0 > > > > > beq found > > > > > > > > > > This sequence _purposely_ writes the opposite value between the first > > > > > store and the read-back of it to perturb the bus in case it's floating, > > > > > to prevent exactly these kinds of false positives. The second check is > > > > > additional belt and braces to make the check even more secure. > > > > > > > > > > Can we do that with Scoop2? I've no idea, I don't know what the weird > > > > > 0x40 offset is that's being probed by this code. We need whoever wrote > > > > > this code, but I suspect they've long since moved on and aren't > > > > > interested in it. > > > > I suspect this was me and I was missing some of the subtleties in this > > case. I think the eor to perturb the bus should be fine and fix this > > code. > > Except... we're currently hitting the register at 0x08800040 (presumably > a 64-byte offset) which doesn't appear in the scoop header file... so > I'm not sure if this is a special register or not for this. Also we need > to know another register for the 2nd access which isn't going to cause > problems. Any suggestions? Looking at spitz.c (which is the one which handles borzoi): /* SCOOP Device #2 */ static struct resource spitz_scoop_2_resources[] = { [0] = { .start = 0x08800040, .end = 0x08800fff, .flags = IORESOURCE_MEM, }, }; so we're reading SCOOP_MCR (offset 0x00). For the second register, I'd suggest something from the reset code in scoop.c: iowrite16(0x00FF, sdev->base + SCOOP_IRM) looks appropriate since the 0x00ff value should perturb the bus. I'm guessing MCR is some kind of memory control and handles device reset, IRM is probably interrupt related and we don't use interrupt functionality of the GPIO expander. Does that help? Cheers, Richard ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-11-30 1:38 [ARM] head.S change broke platform device registration? Marko Katić 2012-11-30 10:28 ` Marc Zyngier @ 2012-11-30 12:17 ` Dave Martin 2012-11-30 12:28 ` Marko Katić 1 sibling, 1 reply; 24+ messages in thread From: Dave Martin @ 2012-11-30 12:17 UTC (permalink / raw) To: linux-arm-kernel On Fri, Nov 30, 2012 at 02:38:14AM +0100, Marko Kati? wrote: > I recently tried to boot v3.7-rc7 on my akita (Sharp Zaurus C-1000, > PXA270 machine). > Backlight never turned on but the kernel booted just fine. > After some investigation i determined that the gpio expander (max7310, > i2c chip) is not even > registered and thus not present in /sys/bus/i2c/devices. > Backlight gpio controls are hooked to this chip thus, no backlight. > > I thought that too many things could have caused this so i went > straight to bisecting. > Bisection pointed me to this commit: > > commit 424e5994e63326a42012f003f1174f3c363c7b62 > Author: Dave Martin <dave.martin@linaro.org> > Date: Fri Feb 10 18:07:07 2012 -0800 > > ARM: zImage/virt: hyp mode entry support for the zImage loader > > The zImage loader needs to turn on the MMU in order to take > advantage of caching while decompressing the zImage. Running this > in hyp mode would require the LPAE pagetable format to be > supported; to avoid this complexity, this patch switches out of hyp > mode, and returns back to hyp mode just before booting the kernel. > > This implementation assumes that the Hyp mode view of memory and the > PL1 view of memory are coherent, providing that the MMU and caches > are off in both, as required by the boot protocol. The zImage > decompression code must drain the write buffer on completion anyway, and > entry into Hyp mode should flush any prefetch buffer, avoiding hazards > associated with local write buffers and the pipeline. > > Signed-off-by: Dave Martin <dave.martin@linaro.org> > Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> > > This commit was merged in v3.7-rc1. And indeed, if i > revert this single commit, my gpio expander reappears and > so does my backlight. > I made no other changes to the vanilla 3.7-rc7 > except this revert. > > This seems very strange to me because i, with my limited knowledge, > cannot see any correlation between this commit and the bug i am experiencing. > > Does anyone know what exactly is happening here? This is indeed strange, since there is not much difference to the kernel if CONFIG_ARM_VIRT_EXT is not set. Unless a bug is causing the kernel to trample on some random memory, there is no reason for this to cause I2C devices to disappear. It could be something unrelated, like additional and removal of code changing the position or alignment of other parts of the kernel image. Have you could try undoing parts of the patch to narrow the bug down further? Cheers ---Dave ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-11-30 12:17 ` Dave Martin @ 2012-11-30 12:28 ` Marko Katić 2012-11-30 12:40 ` Russell King - ARM Linux 0 siblings, 1 reply; 24+ messages in thread From: Marko Katić @ 2012-11-30 12:28 UTC (permalink / raw) To: linux-arm-kernel On Fri, Nov 30, 2012 at 1:17 PM, Dave Martin <dave.martin@linaro.org> wrote: > On Fri, Nov 30, 2012 at 02:38:14AM +0100, Marko Kati? wrote: >> I recently tried to boot v3.7-rc7 on my akita (Sharp Zaurus C-1000, >> PXA270 machine). >> Backlight never turned on but the kernel booted just fine. >> After some investigation i determined that the gpio expander (max7310, >> i2c chip) is not even >> registered and thus not present in /sys/bus/i2c/devices. >> Backlight gpio controls are hooked to this chip thus, no backlight. >> >> I thought that too many things could have caused this so i went >> straight to bisecting. >> Bisection pointed me to this commit: >> >> commit 424e5994e63326a42012f003f1174f3c363c7b62 >> Author: Dave Martin <dave.martin@linaro.org> >> Date: Fri Feb 10 18:07:07 2012 -0800 >> >> ARM: zImage/virt: hyp mode entry support for the zImage loader >> >> The zImage loader needs to turn on the MMU in order to take >> advantage of caching while decompressing the zImage. Running this >> in hyp mode would require the LPAE pagetable format to be >> supported; to avoid this complexity, this patch switches out of hyp >> mode, and returns back to hyp mode just before booting the kernel. >> >> This implementation assumes that the Hyp mode view of memory and the >> PL1 view of memory are coherent, providing that the MMU and caches >> are off in both, as required by the boot protocol. The zImage >> decompression code must drain the write buffer on completion anyway, and >> entry into Hyp mode should flush any prefetch buffer, avoiding hazards >> associated with local write buffers and the pipeline. >> >> Signed-off-by: Dave Martin <dave.martin@linaro.org> >> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> >> >> This commit was merged in v3.7-rc1. And indeed, if i >> revert this single commit, my gpio expander reappears and >> so does my backlight. >> I made no other changes to the vanilla 3.7-rc7 >> except this revert. >> >> This seems very strange to me because i, with my limited knowledge, >> cannot see any correlation between this commit and the bug i am experiencing. >> >> Does anyone know what exactly is happening here? > > This is indeed strange, since there is not much difference to the kernel > if CONFIG_ARM_VIRT_EXT is not set. > > Unless a bug is causing the kernel to trample on some random memory, > there is no reason for this to cause I2C devices to disappear. > > It could be something unrelated, like additional and removal of code > changing the position or alignment of other parts of the kernel image. > > Have you could try undoing parts of the patch to narrow the bug down > further? > > Cheers > ---Dave No, not yet. As i said my knowledge of what goes on in head.S is limited so i'd rather not mess with it. ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-11-30 12:28 ` Marko Katić @ 2012-11-30 12:40 ` Russell King - ARM Linux 2012-11-30 13:07 ` Marko Katić 0 siblings, 1 reply; 24+ messages in thread From: Russell King - ARM Linux @ 2012-11-30 12:40 UTC (permalink / raw) To: linux-arm-kernel On Fri, Nov 30, 2012 at 01:28:33PM +0100, Marko Kati? wrote: > On Fri, Nov 30, 2012 at 1:17 PM, Dave Martin <dave.martin@linaro.org> wrote: > > This is indeed strange, since there is not much difference to the kernel > > if CONFIG_ARM_VIRT_EXT is not set. > > > > Unless a bug is causing the kernel to trample on some random memory, > > there is no reason for this to cause I2C devices to disappear. > > > > It could be something unrelated, like additional and removal of code > > changing the position or alignment of other parts of the kernel image. > > > > Have you could try undoing parts of the patch to narrow the bug down > > further? > > > > Cheers > > ---Dave > > No, not yet. As i said my knowledge of what goes on in head.S is limited > so i'd rather not mess with it. Well, I think everyone's confused how this change could cause an I2C device to vanish. I've been through this code carefully and I don't see anything that would affect an I2C device here. The code in question is not even touching any hardware. Please post your .config file so we can see how your kernel is configured. ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-11-30 12:40 ` Russell King - ARM Linux @ 2012-11-30 13:07 ` Marko Katić 2012-11-30 13:11 ` Marko Katić 0 siblings, 1 reply; 24+ messages in thread From: Marko Katić @ 2012-11-30 13:07 UTC (permalink / raw) To: linux-arm-kernel On Fri, Nov 30, 2012 at 1:40 PM, Russell King - ARM Linux <linux@arm.linux.org.uk> wrote: > On Fri, Nov 30, 2012 at 01:28:33PM +0100, Marko Kati? wrote: >> On Fri, Nov 30, 2012 at 1:17 PM, Dave Martin <dave.martin@linaro.org> wrote: >> > This is indeed strange, since there is not much difference to the kernel >> > if CONFIG_ARM_VIRT_EXT is not set. >> > >> > Unless a bug is causing the kernel to trample on some random memory, >> > there is no reason for this to cause I2C devices to disappear. >> > >> > It could be something unrelated, like additional and removal of code >> > changing the position or alignment of other parts of the kernel image. >> > >> > Have you could try undoing parts of the patch to narrow the bug down >> > further? >> > >> > Cheers >> > ---Dave >> >> No, not yet. As i said my knowledge of what goes on in head.S is limited >> so i'd rather not mess with it. > > Well, I think everyone's confused how this change could cause an I2C > device to vanish. I've been through this code carefully and I don't > see anything that would affect an I2C device here. The code in question > is not even touching any hardware. > > Please post your .config file so we can see how your kernel is configured. ^ permalink raw reply [flat|nested] 24+ messages in thread
* [ARM] head.S change broke platform device registration? 2012-11-30 13:07 ` Marko Katić @ 2012-11-30 13:11 ` Marko Katić 0 siblings, 0 replies; 24+ messages in thread From: Marko Katić @ 2012-11-30 13:11 UTC (permalink / raw) To: linux-arm-kernel my apologies for the previous email, i'm in a bit of a hurry. .config =========================================== # # Automatically generated file; DO NOT EDIT. # Linux/arm 3.7.0-rc7 Kernel Configuration # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y CONFIG_GENERIC_GPIO=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_GENERIC_HWEIGHT=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_ARCH_MTD_XIP=y CONFIG_VECTORS_BASE=0xffff0000 CONFIG_ARM_PATCH_PHYS_VIRT=y CONFIG_NEED_MACH_GPIO_H=y CONFIG_GENERIC_BUG=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_HAVE_IRQ_WORK=y # # General setup # CONFIG_EXPERIMENTAL=y CONFIG_BROKEN_ON_SMP=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE="arm-oe-linux-gnueabi-" CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_XZ=y CONFIG_HAVE_KERNEL_LZO=y CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_XZ is not set # CONFIG_KERNEL_LZO 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=y # 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_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=y CONFIG_HIGH_RES_TIMERS=y # # CPU/Task time and stats accounting # CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y # CONFIG_TASKSTATS is not set # # RCU Subsystem # CONFIG_TINY_PREEMPT_RCU=y CONFIG_PREEMPT_RCU=y # CONFIG_TREE_RCU_TRACE is not set CONFIG_RCU_BOOST=y CONFIG_RCU_BOOST_PRIO=1 CONFIG_RCU_BOOST_DELAY=500 CONFIG_IKCONFIG=m CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_CGROUPS=y # CONFIG_CGROUP_DEBUG is not set # CONFIG_CGROUP_FREEZER is not set # CONFIG_CGROUP_DEVICE is not set # CONFIG_CPUSETS is not set # CONFIG_CGROUP_CPUACCT is not set # CONFIG_RESOURCE_COUNTERS is not set CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y # CONFIG_CFS_BANDWIDTH is not set # CONFIG_RT_GROUP_SCHED is not set # CONFIG_BLK_CGROUP is not set # CONFIG_CHECKPOINT_RESTORE is not set # CONFIG_NAMESPACES is not set CONFIG_SCHED_AUTOGROUP=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_RELAY is not set # CONFIG_BLK_DEV_INITRD is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SYSCTL=y CONFIG_ANON_INODES=y CONFIG_EXPERT=y CONFIG_HAVE_UID16=y CONFIG_UID16=y CONFIG_SYSCTL_SYSCALL=y CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y CONFIG_HOTPLUG=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=y CONFIG_HAVE_PERF_EVENTS=y CONFIG_PERF_USE_VMALLOC=y # # Kernel Performance Events And Counters # # CONFIG_PERF_EVENTS is not set CONFIG_VM_EVENT_COUNTERS=y CONFIG_COMPAT_BRK=y CONFIG_SLAB=y # CONFIG_SLUB is not set # CONFIG_SLOB is not set # CONFIG_PROFILING is not set CONFIG_HAVE_OPROFILE=y # CONFIG_KPROBES is not set CONFIG_JUMP_LABEL=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_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_CLK=y CONFIG_HAVE_DMA_API_DEBUG=y CONFIG_HAVE_ARCH_JUMP_LABEL=y CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y CONFIG_GENERIC_KERNEL_THREAD=y CONFIG_GENERIC_KERNEL_EXECVE=y CONFIG_MODULES_USE_ELF_REL=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 is not set 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_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 is not set # CONFIG_SYSV68_PARTITION is not set # # IO Schedulers # CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_DEADLINE=m CONFIG_IOSCHED_CFQ=m CONFIG_DEFAULT_NOOP=y CONFIG_DEFAULT_IOSCHED="noop" CONFIG_UNINLINE_SPIN_UNLOCK=y CONFIG_FREEZER=y # # System Type # CONFIG_MMU=y # CONFIG_ARCH_MULTIPLATFORM is not set # 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_BCM2835 is not set # CONFIG_ARCH_CNS3XXX is not set # CONFIG_ARCH_CLPS711X is not set # CONFIG_ARCH_GEMINI is not set # CONFIG_ARCH_SIRF is not set # CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EP93XX is not set # CONFIG_ARCH_FOOTBRIDGE is not set # CONFIG_ARCH_MXC is not set # CONFIG_ARCH_MXS is not set # CONFIG_ARCH_NETX is not set # CONFIG_ARCH_H720X 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_TEGRA is not set CONFIG_ARCH_PXA=y # 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_U300 is not set # CONFIG_ARCH_U8500 is not set # CONFIG_ARCH_NOMADIK is not set # CONFIG_PLAT_SPEAR is not set # CONFIG_ARCH_DAVINCI is not set # CONFIG_ARCH_OMAP is not set # CONFIG_ARCH_VT8500 is not set # CONFIG_ARCH_ZYNQ is not set CONFIG_GPIO_PCA953X=y # CONFIG_KEYBOARD_GPIO_POLLED is not set # # Intel PXA2xx/PXA3xx Implementations # # CONFIG_ARCH_PXA_V7 is not set # # Intel/Marvell Dev Platforms (sorted by hardware release time) # # CONFIG_MACH_PXA3XX_DT is not set # CONFIG_ARCH_LUBBOCK is not set # CONFIG_MACH_MAINSTONE is not set # CONFIG_MACH_ZYLONITE300 is not set # CONFIG_MACH_ZYLONITE320 is not set # CONFIG_MACH_LITTLETON is not set # CONFIG_MACH_TAVOREVB is not set # CONFIG_MACH_SAAR is not set # # Third Party Dev Platforms (sorted by vendor name) # # CONFIG_ARCH_PXA_IDP is not set # CONFIG_ARCH_VIPER is not set # CONFIG_MACH_ARCOM_ZEUS is not set # CONFIG_MACH_BALLOON3 is not set # CONFIG_MACH_CSB726 is not set # CONFIG_MACH_ARMCORE is not set # CONFIG_MACH_EM_X270 is not set # CONFIG_MACH_EXEDA is not set # CONFIG_MACH_CM_X300 is not set # CONFIG_MACH_CAPC7117 is not set # CONFIG_ARCH_GUMSTIX is not set # CONFIG_MACH_INTELMOTE2 is not set # CONFIG_MACH_STARGATE2 is not set # CONFIG_MACH_XCEP is not set # CONFIG_TRIZEPS_PXA is not set # CONFIG_MACH_LOGICPD_PXA270 is not set # CONFIG_MACH_PCM027 is not set # CONFIG_MACH_COLIBRI is not set # CONFIG_MACH_COLIBRI300 is not set # CONFIG_MACH_COLIBRI320 is not set # CONFIG_MACH_VPAC270 is not set # # End-user Products (sorted by vendor name) # # CONFIG_MACH_H4700 is not set # CONFIG_MACH_H5000 is not set # CONFIG_MACH_HIMALAYA is not set # CONFIG_MACH_MAGICIAN is not set # CONFIG_MACH_MIOA701 is not set # CONFIG_PXA_EZX is not set # CONFIG_MACH_MP900C is not set # CONFIG_ARCH_PXA_PALM is not set # CONFIG_MACH_RAUMFELD_RC is not set # CONFIG_MACH_RAUMFELD_CONNECTOR is not set # CONFIG_MACH_RAUMFELD_SPEAKER is not set CONFIG_PXA_SHARPSL=y CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y # CONFIG_MACH_POODLE is not set # CONFIG_MACH_CORGI is not set # CONFIG_MACH_SHEPHERD is not set # CONFIG_MACH_HUSKY is not set CONFIG_MACH_AKITA=y CONFIG_MACH_SPITZ=y CONFIG_MACH_BORZOI=y # CONFIG_MACH_TOSA is not set # CONFIG_MACH_ICONTROL is not set # CONFIG_ARCH_PXA_ESERIES is not set # CONFIG_MACH_ZIPIT2 is not set CONFIG_PXA27x=y CONFIG_PXA_SHARP_Cxx00=y CONFIG_SHARPSL_PM=y CONFIG_SHARPSL_PM_MAX1111=y CONFIG_PXA_SSP=y CONFIG_PLAT_PXA=y # # Processor Type # CONFIG_CPU_XSCALE=y CONFIG_CPU_32v5=y CONFIG_CPU_ABRT_EV5T=y CONFIG_CPU_PABRT_LEGACY=y CONFIG_CPU_CACHE_VIVT=y CONFIG_CPU_TLB_V4WBI=y CONFIG_CPU_CP15=y CONFIG_CPU_CP15_MMU=y CONFIG_CPU_USE_DOMAINS=y # # Processor Features # # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set CONFIG_ARM_THUMB=y # CONFIG_CPU_DCACHE_DISABLE is not set # CONFIG_CACHE_L2X0 is not set CONFIG_ARM_L1_CACHE_SHIFT=5 CONFIG_ARM_NR_BANKS=8 CONFIG_IWMMXT=y CONFIG_XSCALE_PMU=y CONFIG_MULTI_IRQ_HANDLER=y CONFIG_SHARP_PARAM=y CONFIG_SHARP_SCOOP=y # # Bus support # # CONFIG_PCI_SYSCALL is not set CONFIG_PCCARD=y CONFIG_PCMCIA=y CONFIG_PCMCIA_LOAD_CIS=y # # PC-card bridges # CONFIG_PCMCIA_SOC_COMMON=y CONFIG_PCMCIA_PXA2XX=y # CONFIG_PCMCIA_DEBUG is not set # # Kernel Features # CONFIG_VMSPLIT_3G=y # CONFIG_VMSPLIT_2G is not set # CONFIG_VMSPLIT_1G is not set CONFIG_PAGE_OFFSET=0xC0000000 CONFIG_ARCH_NR_GPIO=0 # CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=y CONFIG_PREEMPT_COUNT=y CONFIG_HZ=100 CONFIG_AEABI=y CONFIG_OABI_COMPAT=y # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set CONFIG_HAVE_ARCH_PFN_VALID=y # CONFIG_HIGHMEM is not set CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y CONFIG_FLATMEM=y CONFIG_FLAT_NODE_MEM_MAP=y CONFIG_HAVE_MEMBLOCK=y CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=999999 # CONFIG_COMPACTION is not set # CONFIG_PHYS_ADDR_T_64BIT is not set CONFIG_ZONE_DMA_FLAG=0 CONFIG_VIRT_TO_BUS=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=y # CONFIG_FRONTSWAP 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 # # Boot options # # CONFIG_USE_OF is not set CONFIG_ATAGS=y # CONFIG_DEPRECATED_PARAM_STRUCT is not set CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_CMDLINE="console=tty1 noinitrd root=/dev/sda2 rootfstype=ext3 rootdelay=2 fbcon=rotate:1 dyntick=enable no_console_suspend=1" CONFIG_CMDLINE_FROM_BOOTLOADER=y # CONFIG_CMDLINE_EXTEND is not set # CONFIG_CMDLINE_FORCE is not set # CONFIG_XIP_KERNEL is not set 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=y CONFIG_CPU_FREQ_TABLE=y CONFIG_CPU_FREQ_STAT=y # CONFIG_CPU_FREQ_STAT_DETAILS is not set CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=m CONFIG_CPU_FREQ_GOV_USERSPACE=m CONFIG_CPU_FREQ_GOV_ONDEMAND=m CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m # # ARM CPU frequency scaling drivers # # CONFIG_ARM_EXYNOS4210_CPUFREQ is not set # CONFIG_ARM_EXYNOS4X12_CPUFREQ is not set # CONFIG_ARM_EXYNOS5250_CPUFREQ is not set CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y # 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 # # Userspace binary formats # CONFIG_BINFMT_ELF=y CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y CONFIG_HAVE_AOUT=y # CONFIG_BINFMT_AOUT is not set # CONFIG_BINFMT_MISC is not set 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 is not set CONFIG_APM_EMULATION=y CONFIG_PM_CLK=y CONFIG_CPU_PM=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARM_CPU_SUSPEND=y CONFIG_NET=y # # Networking options # CONFIG_PACKET=m # CONFIG_PACKET_DIAG is not set CONFIG_UNIX=y # CONFIG_UNIX_DIAG is not set CONFIG_XFRM=y CONFIG_XFRM_ALGO=m CONFIG_XFRM_USER=m # CONFIG_XFRM_SUB_POLICY is not set # CONFIG_XFRM_MIGRATE is not set # CONFIG_XFRM_STATISTICS is not set CONFIG_XFRM_IPCOMP=m # 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_ARPD is not set CONFIG_SYN_COOKIES=y # CONFIG_NET_IPVTI 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=m CONFIG_INET_XFRM_MODE_TRANSPORT=m CONFIG_INET_XFRM_MODE_TUNNEL=m CONFIG_INET_XFRM_MODE_BEET=m # CONFIG_INET_LRO is not set CONFIG_INET_DIAG=m CONFIG_INET_TCP_DIAG=m # CONFIG_INET_UDP_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=m # CONFIG_IPV6_PRIVACY is not set # CONFIG_IPV6_ROUTER_PREF is not set # CONFIG_IPV6_OPTIMISTIC_DAD is not set CONFIG_INET6_AH=m CONFIG_INET6_ESP=m CONFIG_INET6_IPCOMP=m # CONFIG_IPV6_MIP6 is not set CONFIG_INET6_XFRM_TUNNEL=m CONFIG_INET6_TUNNEL=m CONFIG_INET6_XFRM_MODE_TRANSPORT=m CONFIG_INET6_XFRM_MODE_TUNNEL=m CONFIG_INET6_XFRM_MODE_BEET=m # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set CONFIG_IPV6_SIT=m # CONFIG_IPV6_SIT_6RD is not set CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_IPV6_TUNNEL=m # CONFIG_IPV6_GRE is not set # CONFIG_IPV6_MULTIPLE_TABLES is not set # CONFIG_IPV6_MROUTE is not set # CONFIG_NETWORK_SECMARK is not set # CONFIG_NETWORK_PHY_TIMESTAMPING is not set CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set CONFIG_NETFILTER_ADVANCED=y # # Core Netfilter Configuration # # CONFIG_NETFILTER_NETLINK_ACCT is not set # CONFIG_NETFILTER_NETLINK_QUEUE is not set # CONFIG_NETFILTER_NETLINK_LOG is not set # CONFIG_NF_CONNTRACK is not set # CONFIG_NETFILTER_TPROXY is not set CONFIG_NETFILTER_XTABLES=m # # Xtables combined modules # # CONFIG_NETFILTER_XT_MARK is not set # # Xtables targets # # CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set # CONFIG_NETFILTER_XT_TARGET_DSCP is not set CONFIG_NETFILTER_XT_TARGET_HL=m # CONFIG_NETFILTER_XT_TARGET_HMARK is not set # CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set # CONFIG_NETFILTER_XT_TARGET_LED is not set # CONFIG_NETFILTER_XT_TARGET_LOG is not set # CONFIG_NETFILTER_XT_TARGET_MARK is not set # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set # CONFIG_NETFILTER_XT_TARGET_RATEEST is not set # CONFIG_NETFILTER_XT_TARGET_TEE is not set # CONFIG_NETFILTER_XT_TARGET_TRACE is not set # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set # CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set # # Xtables matches # # CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set # CONFIG_NETFILTER_XT_MATCH_COMMENT is not set # CONFIG_NETFILTER_XT_MATCH_CPU is not set # CONFIG_NETFILTER_XT_MATCH_DCCP is not set # CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set # CONFIG_NETFILTER_XT_MATCH_DSCP is not set CONFIG_NETFILTER_XT_MATCH_ECN=m # CONFIG_NETFILTER_XT_MATCH_ESP is not set # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set CONFIG_NETFILTER_XT_MATCH_HL=m # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set # CONFIG_NETFILTER_XT_MATCH_MAC is not set # CONFIG_NETFILTER_XT_MATCH_MARK is not set # CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set # CONFIG_NETFILTER_XT_MATCH_NFACCT is not set # CONFIG_NETFILTER_XT_MATCH_OWNER is not set # CONFIG_NETFILTER_XT_MATCH_POLICY is not set # CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set # CONFIG_NETFILTER_XT_MATCH_QUOTA is not set # CONFIG_NETFILTER_XT_MATCH_RATEEST is not set # CONFIG_NETFILTER_XT_MATCH_REALM is not set # CONFIG_NETFILTER_XT_MATCH_RECENT is not set # CONFIG_NETFILTER_XT_MATCH_SCTP is not set # CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set # CONFIG_NETFILTER_XT_MATCH_STRING is not set # CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set # CONFIG_NETFILTER_XT_MATCH_TIME is not set # CONFIG_NETFILTER_XT_MATCH_U32 is not set # CONFIG_IP_VS is not set # # IP: Netfilter Configuration # # CONFIG_NF_DEFRAG_IPV4 is not set CONFIG_IP_NF_QUEUE=m CONFIG_IP_NF_IPTABLES=m CONFIG_IP_NF_MATCH_AH=m CONFIG_IP_NF_MATCH_ECN=m # CONFIG_IP_NF_MATCH_RPFILTER is not set CONFIG_IP_NF_MATCH_TTL=m CONFIG_IP_NF_FILTER=m CONFIG_IP_NF_TARGET_REJECT=m CONFIG_IP_NF_TARGET_ULOG=m CONFIG_IP_NF_MANGLE=m CONFIG_IP_NF_TARGET_ECN=m CONFIG_IP_NF_TARGET_TTL=m CONFIG_IP_NF_RAW=m CONFIG_IP_NF_ARPTABLES=m CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARP_MANGLE=m # # IPv6: Netfilter Configuration # # CONFIG_NF_DEFRAG_IPV6 is not set # CONFIG_IP6_NF_IPTABLES 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_NET_DSA 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_WAN_ROUTER 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_DNS_RESOLVER=y # CONFIG_BATMAN_ADV is not set # CONFIG_OPENVSWITCH is not set # CONFIG_NETPRIO_CGROUP is not set CONFIG_BQL=y # CONFIG_BPF_JIT is not set # # Network testing # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set # CONFIG_CAN is not set CONFIG_IRDA=m # # IrDA protocols # CONFIG_IRLAN=m CONFIG_IRNET=m CONFIG_IRCOMM=m # CONFIG_IRDA_ULTRA is not set # # IrDA options # # CONFIG_IRDA_CACHE_LAST_LSAP is not set # CONFIG_IRDA_FAST_RR is not set # CONFIG_IRDA_DEBUG is not set # # Infrared-port device drivers # # # SIR device drivers # # CONFIG_IRTTY_SIR is not set # # Dongle support # # CONFIG_KINGSUN_DONGLE is not set # CONFIG_KSDAZZLE_DONGLE is not set # CONFIG_KS959_DONGLE is not set # # FIR device drivers # # CONFIG_USB_IRDA is not set # CONFIG_SIGMATEL_FIR is not set CONFIG_PXA_FICP=m # CONFIG_MCS_FIR is not set CONFIG_BT=m CONFIG_BT_RFCOMM=m # CONFIG_BT_RFCOMM_TTY is not set # CONFIG_BT_BNEP is not set # CONFIG_BT_HIDP is not set # # Bluetooth device drivers # CONFIG_BT_HCIBTUSB=m CONFIG_BT_HCIBTSDIO=m CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_H4=y CONFIG_BT_HCIUART_BCSP=y # CONFIG_BT_HCIUART_ATH3K is not set # CONFIG_BT_HCIUART_LL is not set # CONFIG_BT_HCIUART_3WIRE is not set CONFIG_BT_HCIBCM203X=m CONFIG_BT_HCIBPA10X=m CONFIG_BT_HCIBFUSB=m CONFIG_BT_HCIDTL1=m CONFIG_BT_HCIBT3C=m CONFIG_BT_HCIBLUECARD=m CONFIG_BT_HCIBTUART=m CONFIG_BT_HCIVHCI=m CONFIG_BT_MRVL=m CONFIG_BT_MRVL_SDIO=m CONFIG_BT_ATH3K=m # CONFIG_AF_RXRPC is not set CONFIG_WIRELESS=y CONFIG_WIRELESS_EXT=y CONFIG_WEXT_CORE=y CONFIG_WEXT_PROC=y CONFIG_WEXT_SPY=y CONFIG_WEXT_PRIV=y CONFIG_CFG80211=m # CONFIG_NL80211_TESTMODE is not set # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set # CONFIG_CFG80211_REG_DEBUG is not set # CONFIG_CFG80211_CERTIFICATION_ONUS is not set CONFIG_CFG80211_DEFAULT_PS=y # CONFIG_CFG80211_INTERNAL_REGDB is not set CONFIG_CFG80211_WEXT=y CONFIG_LIB80211=m CONFIG_LIB80211_CRYPT_WEP=m CONFIG_LIB80211_CRYPT_CCMP=m CONFIG_LIB80211_CRYPT_TKIP=m # CONFIG_LIB80211_DEBUG is not set CONFIG_MAC80211=m CONFIG_MAC80211_HAS_RC=y # CONFIG_MAC80211_RC_PID is not set CONFIG_MAC80211_RC_MINSTREL=y CONFIG_MAC80211_RC_MINSTREL_HT=y CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" CONFIG_MAC80211_MESH=y CONFIG_MAC80211_LEDS=y # CONFIG_MAC80211_MESSAGE_TRACING is not set # CONFIG_MAC80211_DEBUG_MENU is not set # CONFIG_WIMAX is not set CONFIG_RFKILL=m CONFIG_RFKILL_LEDS=y CONFIG_RFKILL_INPUT=y CONFIG_RFKILL_GPIO=m # 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=y CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE="" # 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_REGMAP=y CONFIG_REGMAP_I2C=y CONFIG_REGMAP_SPI=y # CONFIG_DMA_SHARED_BUFFER is not set # CONFIG_CMA is not set # # Bus devices # # CONFIG_OMAP_OCP2SCP is not set CONFIG_CONNECTOR=m 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_AR7_PARTS is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=y 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 is not set # CONFIG_MTD_SWAP is not set # # RAM/ROM/Flash chip drivers # # CONFIG_MTD_CFI is not set # CONFIG_MTD_JEDECPROBE 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_RAM is not set CONFIG_MTD_ROM=y # CONFIG_MTD_ABSENT is not set # # Mapping drivers for chip access # CONFIG_MTD_COMPLEX_MAPPINGS=y CONFIG_MTD_PHYSMAP=y # CONFIG_MTD_PHYSMAP_COMPAT is not set CONFIG_MTD_PCMCIA=m CONFIG_MTD_PCMCIA_ANONYMOUS=y # CONFIG_MTD_GPIO_ADDR is not set # CONFIG_MTD_PLATRAM is not set # CONFIG_MTD_LATCH_ADDR 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_DOC2000 is not set # CONFIG_MTD_DOC2001 is not set # CONFIG_MTD_DOC2001PLUS is not set # 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_MUSEUM_IDS is not set # CONFIG_MTD_NAND_GPIO 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_SHARPSL=y # CONFIG_MTD_NAND_NANDSIM is not set # CONFIG_MTD_NAND_PLATFORM is not set # CONFIG_MTD_ALAUDA is not set # CONFIG_MTD_ONENAND is not set # # LPDDR flash memory drivers # # CONFIG_MTD_LPDDR is not set # CONFIG_MTD_UBI is not set # CONFIG_PARPORT is not set CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=1 # CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_DRBD is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set # CONFIG_ATA_OVER_ETH is not set # CONFIG_MG_DISK is not set # CONFIG_VIRTIO_BLK is not set # CONFIG_BLK_DEV_RBD is not set # # Misc devices # # CONFIG_SENSORS_LIS3LV02D is not set # CONFIG_AD525X_DPOT is not set # CONFIG_ATMEL_PWM is not set # CONFIG_ICS932S401 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_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 is not set # 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 is not set # # Altera FPGA firmware download module # # CONFIG_ALTERA_STAPL is not set CONFIG_HAVE_IDE=y # CONFIG_IDE 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=m CONFIG_CHR_DEV_OSST=m CONFIG_BLK_DEV_SR=m # CONFIG_BLK_DEV_SR_VENDOR is not set CONFIG_CHR_DEV_SG=m # 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 is not set # # 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_LIBFC is not set # CONFIG_LIBFCOE is not set # CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_VIRTIO is not set # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set # CONFIG_SCSI_DH is not set # CONFIG_SCSI_OSD_INITIATOR is not set CONFIG_ATA=y # CONFIG_ATA_NONSTANDARD is not set CONFIG_ATA_VERBOSE_ERROR=y # CONFIG_SATA_PMP is not set # # Controllers with non-SFF native interface # # CONFIG_SATA_AHCI_PLATFORM is not set CONFIG_ATA_SFF=y # # SFF controllers with custom DMA interface # CONFIG_ATA_BMDMA=y # # SATA SFF controllers with BMDMA # # CONFIG_SATA_HIGHBANK is not set # CONFIG_SATA_MV is not set # # PATA SFF controllers with BMDMA # CONFIG_PATA_PXA=y # # PIO-only SFF controllers # CONFIG_PATA_PCMCIA=y # CONFIG_PATA_PLATFORM is not set # # Generic fallback / legacy drivers # # CONFIG_MD is not set # CONFIG_TARGET_CORE is not set CONFIG_NETDEVICES=y CONFIG_NET_CORE=y # CONFIG_BONDING is not set # CONFIG_DUMMY is not set # CONFIG_EQUALIZER is not set CONFIG_MII=m # CONFIG_NET_TEAM is not set # CONFIG_MACVLAN is not set # CONFIG_VXLAN is not set # CONFIG_NETCONSOLE is not set # CONFIG_NETPOLL is not set # CONFIG_NET_POLL_CONTROLLER is not set CONFIG_TUN=m # CONFIG_VETH is not set CONFIG_VIRTIO_NET=m # CONFIG_ARCNET is not set # # CAIF transport drivers # # CONFIG_ETHERNET is not set CONFIG_PHYLIB=m # # MII PHY device drivers # # CONFIG_AT803X_PHY is not set # CONFIG_AMD_PHY is not set # CONFIG_MARVELL_PHY is not set # CONFIG_DAVICOM_PHY is not set # CONFIG_QSEMI_PHY is not set # CONFIG_LXT_PHY is not set # CONFIG_CICADA_PHY is not set # CONFIG_VITESSE_PHY is not set # CONFIG_SMSC_PHY is not set # CONFIG_BROADCOM_PHY is not set # CONFIG_BCM87XX_PHY is not set # CONFIG_ICPLUS_PHY is not set # CONFIG_REALTEK_PHY is not set # CONFIG_NATIONAL_PHY is not set # CONFIG_STE10XP is not set # CONFIG_LSI_ET1011C_PHY is not set # CONFIG_MICREL_PHY is not set # CONFIG_MDIO_BITBANG is not set # CONFIG_MICREL_KS8995MA is not set CONFIG_PPP=m CONFIG_PPP_BSDCOMP=m CONFIG_PPP_DEFLATE=m # CONFIG_PPP_FILTER is not set CONFIG_PPP_MPPE=m # CONFIG_PPP_MULTILINK is not set CONFIG_PPPOE=m CONFIG_PPP_ASYNC=m # CONFIG_PPP_SYNC_TTY is not set CONFIG_SLIP=m CONFIG_SLHC=m CONFIG_SLIP_COMPRESSED=y # CONFIG_SLIP_SMART is not set # CONFIG_SLIP_MODE_SLIP6 is not set # # USB Network Adapters # CONFIG_USB_CATC=m CONFIG_USB_KAWETH=m CONFIG_USB_PEGASUS=m CONFIG_USB_RTL8150=m CONFIG_USB_USBNET=m CONFIG_USB_NET_AX8817X=m CONFIG_USB_NET_CDCETHER=m CONFIG_USB_NET_CDC_EEM=m CONFIG_USB_NET_CDC_NCM=m CONFIG_USB_NET_DM9601=m CONFIG_USB_NET_SMSC75XX=m CONFIG_USB_NET_SMSC95XX=m # CONFIG_USB_NET_GL620A is not set CONFIG_USB_NET_NET1080=m # CONFIG_USB_NET_PLUSB is not set # CONFIG_USB_NET_MCS7830 is not set # CONFIG_USB_NET_RNDIS_HOST is not set # CONFIG_USB_NET_CDC_SUBSET is not set CONFIG_USB_NET_ZAURUS=m CONFIG_USB_NET_CX82310_ETH=m # CONFIG_USB_NET_KALMIA is not set # CONFIG_USB_NET_QMI_WWAN is not set # CONFIG_USB_HSO is not set CONFIG_USB_NET_INT51X1=m # CONFIG_USB_IPHETH is not set CONFIG_USB_SIERRA_NET=m # CONFIG_USB_VL600 is not set CONFIG_WLAN=y # CONFIG_PCMCIA_RAYCS is not set # CONFIG_LIBERTAS_THINFIRM is not set # CONFIG_ATMEL is not set # CONFIG_AT76C50X_USB is not set # CONFIG_AIRO_CS is not set # CONFIG_PCMCIA_WL3501 is not set # CONFIG_USB_ZD1201 is not set # CONFIG_USB_NET_RNDIS_WLAN is not set # CONFIG_RTL8187 is not set # CONFIG_MAC80211_HWSIM is not set # CONFIG_ATH_COMMON is not set # CONFIG_B43 is not set # CONFIG_B43LEGACY is not set # CONFIG_BRCMFMAC is not set CONFIG_HOSTAP=m CONFIG_HOSTAP_FIRMWARE=y # CONFIG_HOSTAP_FIRMWARE_NVRAM is not set CONFIG_HOSTAP_CS=m # CONFIG_LIBERTAS is not set # CONFIG_HERMES is not set # CONFIG_P54_COMMON is not set CONFIG_RT2X00=m # CONFIG_RT2500USB is not set # CONFIG_RT73USB is not set CONFIG_RT2800USB=m # CONFIG_RT2800USB_RT33XX is not set # CONFIG_RT2800USB_RT35XX is not set # CONFIG_RT2800USB_RT53XX is not set # CONFIG_RT2800USB_UNKNOWN is not set CONFIG_RT2800_LIB=m CONFIG_RT2X00_LIB_USB=m CONFIG_RT2X00_LIB=m CONFIG_RT2X00_LIB_FIRMWARE=y CONFIG_RT2X00_LIB_CRYPTO=y CONFIG_RT2X00_LIB_LEDS=y # CONFIG_RT2X00_DEBUG is not set # CONFIG_RTL8192CU is not set # CONFIG_WL_TI is not set # CONFIG_ZD1211RW is not set # CONFIG_MWIFIEX is not set # # Enable WiMAX (Networking options) to see the WiMAX drivers # # CONFIG_WAN is not set # CONFIG_ISDN is not set # # Input device support # CONFIG_INPUT=y # CONFIG_INPUT_FF_MEMLESS is not set # CONFIG_INPUT_POLLDEV is not set # CONFIG_INPUT_SPARSEKMAP is not set CONFIG_INPUT_MATRIXKMAP=y # # Userland interfaces # CONFIG_INPUT_MOUSEDEV=m # CONFIG_INPUT_MOUSEDEV_PSAUX is not set CONFIG_INPUT_MOUSEDEV_SCREEN_X=640 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480 # CONFIG_INPUT_JOYDEV is not set CONFIG_INPUT_EVDEV=y # CONFIG_INPUT_EVBUG is not set CONFIG_INPUT_APMPOWER=y # # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_ADP5588 is not set # CONFIG_KEYBOARD_ADP5589 is not set # CONFIG_KEYBOARD_ATKBD is not set # 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=y # CONFIG_KEYBOARD_LM8323 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_PXA27x 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_XTKBD is not set # CONFIG_INPUT_MOUSE 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_DYNAPRO is not set # CONFIG_TOUCHSCREEN_HAMPSHIRE is not set # CONFIG_TOUCHSCREEN_EETI 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_WM97XX 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 is not set # 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_UINPUT=m # 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 is not set # CONFIG_SERIO_RAW is not set # CONFIG_SERIO_ALTERA_PS2 is not set # CONFIG_SERIO_PS2MULT is not set # CONFIG_GAMEPORT is not set # # Character devices # 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 is not set 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=m CONFIG_SERIAL_8250_CS=m CONFIG_SERIAL_8250_NR_UARTS=1 CONFIG_SERIAL_8250_RUNTIME_UARTS=1 # CONFIG_SERIAL_8250_EXTENDED is not set # CONFIG_SERIAL_8250_EM is not set # # Non-8250 serial port support # # CONFIG_SERIAL_MAX3100 is not set # CONFIG_SERIAL_MAX310X is not set CONFIG_SERIAL_PXA=y CONFIG_SERIAL_PXA_CONSOLE=y CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_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_TTY_PRINTK is not set CONFIG_HVC_DRIVER=y # CONFIG_HVC_DCC is not set CONFIG_VIRTIO_CONSOLE=m # CONFIG_IPMI_HANDLER is not set CONFIG_HW_RANDOM=m # CONFIG_HW_RANDOM_TIMERIOMEM is not set # CONFIG_HW_RANDOM_ATMEL is not set CONFIG_HW_RANDOM_VIRTIO=m # CONFIG_HW_RANDOM_EXYNOS is not set # CONFIG_R3964 is not set # # PCMCIA character devices # # CONFIG_SYNCLINK_CS is not set # CONFIG_CARDMAN_4000 is not set # CONFIG_CARDMAN_4040 is not set # CONFIG_IPWIRELESS 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 is not set CONFIG_I2C_CHARDEV=m # 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_DESIGNWARE_PLATFORM is not set # CONFIG_I2C_GPIO is not set # CONFIG_I2C_OCORES is not set # CONFIG_I2C_PCA_PLATFORM is not set CONFIG_I2C_PXA=y # CONFIG_I2C_PXA_PCI is not set # CONFIG_I2C_PXA_SLAVE 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_OC_TINY is not set CONFIG_SPI_PXA2XX=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=m # CONFIG_SPI_TLE62X0 is not set # CONFIG_HSI is not set # # PPS support # # CONFIG_PPS is not set # # PPS generators support # # # PTP clock support # # # Enable Device Drivers -> PPS to see the PTP clock options. # CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y CONFIG_ARCH_REQUIRE_GPIOLIB=y CONFIG_GPIOLIB=y # CONFIG_DEBUG_GPIO is not set CONFIG_GPIO_SYSFS=y # # Memory mapped GPIO drivers: # # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_EM is not set CONFIG_GPIO_PXA=y # # I2C GPIO expanders: # # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX732X is not set # CONFIG_GPIO_PCA953X_IRQ is not set # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_SX150X is not set # CONFIG_GPIO_ADP5588 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: # # CONFIG_W1 is not set CONFIG_POWER_SUPPLY=y # CONFIG_POWER_SUPPLY_DEBUG is not set CONFIG_PDA_POWER=y CONFIG_APM_POWER=y # 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_LP8727 is not set # CONFIG_CHARGER_GPIO is not set # CONFIG_CHARGER_SMB347 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_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_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_LM95241 is not set # CONFIG_SENSORS_LM95245 is not set CONFIG_SENSORS_MAX1111=y # 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_MCP3021 is not set # CONFIG_SENSORS_NTC_THERMISTOR 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_ADS1015 is not set # CONFIG_SENSORS_ADS7828 is not set # CONFIG_SENSORS_ADS7871 is not set # CONFIG_SENSORS_AMC6821 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=m CONFIG_THERMAL_HWMON=y # CONFIG_CPU_THERMAL is not set # CONFIG_WATCHDOG 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_88PM860X is not set # CONFIG_MFD_88PM800 is not set # CONFIG_MFD_88PM805 is not set # CONFIG_MFD_SM501 is not set # CONFIG_MFD_ASIC3 is not set # CONFIG_HTC_EGPIO is not set # CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_I2CPLD is not set # CONFIG_UCB1400_CORE is not set # CONFIG_MFD_LM3533 is not set # CONFIG_TPS6105X is not set # CONFIG_TPS65010 is not set # CONFIG_TPS6507X is not set # CONFIG_MFD_TPS65217 is not set # CONFIG_MFD_TPS65910 is not set # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912_SPI is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set # CONFIG_MFD_STMPE is not set # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TMIO is not set # CONFIG_MFD_T7L66XB is not set # CONFIG_MFD_SMSC is not set # CONFIG_MFD_TC6387XB is not set # CONFIG_MFD_TC6393XB 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_PMIC_ADP5520 is not set # CONFIG_MFD_LP8788 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_MFD_SEC_CORE 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_MFD_PCF50633 is not set # CONFIG_MFD_MC13XXX_SPI is not set # CONFIG_MFD_MC13XXX_I2C is not set # CONFIG_ABX500_CORE is not set # CONFIG_EZX_PCAP is not set # CONFIG_MFD_WL1273_CORE is not set # CONFIG_MFD_TPS65090 is not set # CONFIG_MFD_AAT2870_CORE is not set # CONFIG_MFD_RC5T583 is not set # CONFIG_MFD_PALMAS is not set # CONFIG_REGULATOR is not set # CONFIG_MEDIA_SUPPORT is not set # # Graphics support # # CONFIG_DRM is not set # CONFIG_VGASTATE is not set CONFIG_VIDEO_OUTPUT_CONTROL=m CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set # CONFIG_FB_DDC is not set # CONFIG_FB_BOOT_VESA_SUPPORT is not set CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y # 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_WMT_GE_ROPS 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 is not set # CONFIG_FB_TILEBLITTING is not set # # Frame buffer hardware drivers # # CONFIG_FB_UVESA is not set # CONFIG_FB_S1D13XXX is not set CONFIG_FB_PXA=y CONFIG_FB_PXA_OVERLAY=y # CONFIG_FB_PXA_SMARTPANEL is not set CONFIG_FB_PXA_PARAMETERS=y # CONFIG_PXA3XX_GCU is not set # CONFIG_FB_MBX is not set # CONFIG_FB_W100 is not set # CONFIG_FB_SMSCUFX is not set # CONFIG_FB_UDL 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_EXYNOS_VIDEO is not set CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_LCD_CLASS_DEVICE=y CONFIG_LCD_CORGI=y # CONFIG_LCD_L4F00242T03 is not set # CONFIG_LCD_LMS283GF05 is not set # CONFIG_LCD_LTV350QV is not set # CONFIG_LCD_ILI9320 is not set # CONFIG_LCD_TDO24M is not set # CONFIG_LCD_VGG2432A4 is not set # CONFIG_LCD_PLATFORM is not set # CONFIG_LCD_S6E63M0 is not set # CONFIG_LCD_LD9040 is not set # CONFIG_LCD_AMS369FG06 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 # # 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_FONTS=y # CONFIG_FONT_8x8 is not set 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_FONT_AUTOSELECT=y # CONFIG_LOGO is not set CONFIG_SOUND=y CONFIG_SOUND_OSS_CORE=y CONFIG_SOUND_OSS_CORE_PRECLAIM=y CONFIG_SND=y CONFIG_SND_TIMER=y CONFIG_SND_PCM=y CONFIG_SND_COMPRESS_OFFLOAD=y CONFIG_SND_JACK=y CONFIG_SND_SEQUENCER=m # CONFIG_SND_SEQ_DUMMY is not set CONFIG_SND_OSSEMUL=y CONFIG_SND_MIXER_OSS=m CONFIG_SND_PCM_OSS=m CONFIG_SND_PCM_OSS_PLUGINS=y # CONFIG_SND_SEQUENCER_OSS is not set # CONFIG_SND_HRTIMER is not set # CONFIG_SND_DYNAMIC_MINORS is not set CONFIG_SND_SUPPORT_OLD_API=y CONFIG_SND_VERBOSE_PROCFS=y # CONFIG_SND_VERBOSE_PRINTK is not set # CONFIG_SND_DEBUG is not set CONFIG_SND_VMASTER=y # CONFIG_SND_RAWMIDI_SEQ is not set # CONFIG_SND_OPL3_LIB_SEQ is not set # CONFIG_SND_OPL4_LIB_SEQ is not set # CONFIG_SND_SBAWE_SEQ is not set # CONFIG_SND_EMU10K1_SEQ is not set CONFIG_SND_AC97_CODEC=y CONFIG_SND_DRIVERS=y # CONFIG_SND_DUMMY is not set # CONFIG_SND_ALOOP is not set # CONFIG_SND_VIRMIDI is not set # CONFIG_SND_MTPAV is not set # CONFIG_SND_SERIAL_U16550 is not set # CONFIG_SND_MPU401 is not set CONFIG_SND_AC97_POWER_SAVE=y CONFIG_SND_AC97_POWER_SAVE_DEFAULT=1 CONFIG_SND_ARM=y CONFIG_SND_PXA2XX_PCM=y CONFIG_SND_PXA2XX_LIB=y CONFIG_SND_PXA2XX_LIB_AC97=y CONFIG_SND_PXA2XX_AC97=y # CONFIG_SND_SPI is not set # CONFIG_SND_USB is not set # CONFIG_SND_PCMCIA is not set CONFIG_SND_SOC=y # CONFIG_SND_DESIGNWARE_I2S is not set CONFIG_SND_PXA2XX_SOC=y CONFIG_SND_PXA2XX_SOC_I2S=y CONFIG_SND_PXA2XX_SOC_SPITZ=y CONFIG_SND_SOC_I2C_AND_SPI=y # CONFIG_SND_SOC_ALL_CODECS is not set CONFIG_SND_SOC_WM8750=y # CONFIG_SND_SIMPLE_CARD is not set # CONFIG_SOUND_PRIME is not set CONFIG_AC97_BUS=y # # HID support # CONFIG_HID=m # CONFIG_HIDRAW is not set # CONFIG_UHID is not set # CONFIG_HID_GENERIC is not set # # Special HID drivers # # CONFIG_HID_A4TECH is not set # CONFIG_HID_ACRUX is not set # CONFIG_HID_APPLE 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_PRODIKEYS is not set # CONFIG_HID_CYPRESS is not set # CONFIG_HID_DRAGONRISE is not set # CONFIG_HID_EMS_FF is not set # CONFIG_HID_EZKEY is not set # CONFIG_HID_HOLTEK 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_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_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_SONY is not set # CONFIG_HID_SPEEDLINK 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=m # CONFIG_HID_PID is not set # CONFIG_USB_HIDDEV is not set # # USB HID Boot Protocol drivers # CONFIG_USB_KBD=m CONFIG_USB_MOUSE=m CONFIG_USB_ARCH_HAS_OHCI=y # CONFIG_USB_ARCH_HAS_EHCI is not set # CONFIG_USB_ARCH_HAS_XHCI is not set CONFIG_USB_SUPPORT=y CONFIG_USB_COMMON=m CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB=m # CONFIG_USB_DEBUG is not set # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set # # Miscellaneous USB options # # CONFIG_USB_DYNAMIC_MINORS is not set CONFIG_USB_SUSPEND=y CONFIG_USB_OTG=y # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OTG_BLACKLIST_HUB is not set # CONFIG_USB_DWC3 is not set CONFIG_USB_MON=m # CONFIG_USB_WUSB_CBAF is not set # # USB Host Controller Drivers # # CONFIG_USB_C67X00_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_OHCI_HCD=m # CONFIG_USB_OHCI_HCD_PLATFORM is not set # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_SL811_HCD=m CONFIG_USB_SL811_HCD_ISO=y CONFIG_USB_SL811_CS=m # CONFIG_USB_R8A66597_HCD is not set # CONFIG_USB_MUSB_HDRC is not set # CONFIG_USB_CHIPIDEA is not set # CONFIG_USB_RENESAS_USBHS is not set # # USB Device Class drivers # CONFIG_USB_ACM=m CONFIG_USB_PRINTER=m # 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=m # CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_REALTEK is not set # CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_FREECOM is not set # CONFIG_USB_STORAGE_ISD200 is not set # CONFIG_USB_STORAGE_USBAT is not set # CONFIG_USB_STORAGE_SDDR09 is not set # CONFIG_USB_STORAGE_SDDR55 is not set # CONFIG_USB_STORAGE_JUMPSHOT is not set # CONFIG_USB_STORAGE_ALAUDA is not set # CONFIG_USB_STORAGE_ONETOUCH is not set # CONFIG_USB_STORAGE_KARMA is not set # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set # CONFIG_USB_STORAGE_ENE_UB6250 is not set CONFIG_USB_UAS=m # # USB Imaging devices # CONFIG_USB_MDC800=m CONFIG_USB_MICROTEK=m # # USB port drivers # CONFIG_USB_SERIAL=m CONFIG_USB_SERIAL_GENERIC=y # CONFIG_USB_SERIAL_AIRCABLE is not set # CONFIG_USB_SERIAL_ARK3116 is not set CONFIG_USB_SERIAL_BELKIN=m # CONFIG_USB_SERIAL_CH341 is not set # CONFIG_USB_SERIAL_WHITEHEAT is not set CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m CONFIG_USB_SERIAL_CP210X=m CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m # CONFIG_USB_SERIAL_FUNSOFT is not set CONFIG_USB_SERIAL_VISOR=m CONFIG_USB_SERIAL_IPAQ=m CONFIG_USB_SERIAL_IR=m CONFIG_USB_SERIAL_EDGEPORT=m CONFIG_USB_SERIAL_EDGEPORT_TI=m # CONFIG_USB_SERIAL_F81232 is not set CONFIG_USB_SERIAL_GARMIN=m CONFIG_USB_SERIAL_IPW=m # CONFIG_USB_SERIAL_IUU is not set CONFIG_USB_SERIAL_KEYSPAN_PDA=m CONFIG_USB_SERIAL_KEYSPAN=m # CONFIG_USB_SERIAL_KEYSPAN_MPR is not set # CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set # CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set # CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set # CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set # CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set # CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set # CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set # CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set # CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set # CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set # CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m # CONFIG_USB_SERIAL_METRO is not set # CONFIG_USB_SERIAL_MOS7720 is not set # CONFIG_USB_SERIAL_MOS7840 is not set # CONFIG_USB_SERIAL_MOTOROLA is not set # CONFIG_USB_SERIAL_NAVMAN is not set CONFIG_USB_SERIAL_PL2303=m # CONFIG_USB_SERIAL_OTI6858 is not set # CONFIG_USB_SERIAL_QCAUX is not set # CONFIG_USB_SERIAL_QUALCOMM is not set # CONFIG_USB_SERIAL_SPCP8X5 is not set # CONFIG_USB_SERIAL_HP4X is not set CONFIG_USB_SERIAL_SAFE=m # CONFIG_USB_SERIAL_SAFE_PADDED is not set # CONFIG_USB_SERIAL_SIEMENS_MPI is not set # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set # CONFIG_USB_SERIAL_SYMBOL is not set CONFIG_USB_SERIAL_TI=m CONFIG_USB_SERIAL_CYBERJACK=m CONFIG_USB_SERIAL_XIRCOM=m CONFIG_USB_SERIAL_WWAN=m # CONFIG_USB_SERIAL_OPTION is not set CONFIG_USB_SERIAL_OMNINET=m # CONFIG_USB_SERIAL_OPTICON is not set # CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set # CONFIG_USB_SERIAL_ZIO is not set # CONFIG_USB_SERIAL_ZTE is not set CONFIG_USB_SERIAL_SSU100=m # CONFIG_USB_SERIAL_QT2 is not set # CONFIG_USB_SERIAL_DEBUG is not set # # USB Miscellaneous drivers # CONFIG_USB_EMI62=m CONFIG_USB_EMI26=m # CONFIG_USB_ADUTUX is not set # CONFIG_USB_SEVSEG is not set CONFIG_USB_RIO500=m CONFIG_USB_LEGOTOWER=m CONFIG_USB_LCD=m CONFIG_USB_LED=m # CONFIG_USB_CYPRESS_CY7C63 is not set CONFIG_USB_CYTHERM=m CONFIG_USB_IDMOUSE=m # CONFIG_USB_FTDI_ELAN is not set # CONFIG_USB_APPLEDISPLAY 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=m # # USB Physical Layer drivers # # CONFIG_OMAP_USB2 is not set # CONFIG_USB_ISP1301 is not set CONFIG_USB_GADGET=m # CONFIG_USB_GADGET_DEBUG is not set # CONFIG_USB_GADGET_DEBUG_FILES is not set CONFIG_USB_GADGET_VBUS_DRAW=2 CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 # # USB Peripheral Controller # # CONFIG_USB_FUSB300 is not set # CONFIG_USB_R8A66597 is not set CONFIG_USB_PXA27X=m # CONFIG_USB_MV_UDC 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_ZERO=m # CONFIG_USB_ZERO_HNPTEST is not set CONFIG_USB_AUDIO=m # CONFIG_GADGET_UAC1 is not set CONFIG_USB_ETH=m CONFIG_USB_ETH_RNDIS=y # CONFIG_USB_ETH_EEM is not set CONFIG_USB_G_NCM=m CONFIG_USB_GADGETFS=m CONFIG_USB_FUNCTIONFS=m CONFIG_USB_FUNCTIONFS_ETH=y CONFIG_USB_FUNCTIONFS_RNDIS=y CONFIG_USB_FUNCTIONFS_GENERIC=y CONFIG_USB_FILE_STORAGE=m # CONFIG_USB_FILE_STORAGE_TEST is not set CONFIG_USB_MASS_STORAGE=m CONFIG_USB_G_SERIAL=m # CONFIG_USB_MIDI_GADGET is not set # CONFIG_USB_G_PRINTER is not set CONFIG_USB_CDC_COMPOSITE=m CONFIG_USB_G_ACM_MS=m CONFIG_USB_G_MULTI=m CONFIG_USB_G_MULTI_RNDIS=y CONFIG_USB_G_MULTI_CDC=y CONFIG_USB_G_HID=m # CONFIG_USB_G_DBGP is not set # # OTG and related infrastructure # CONFIG_USB_OTG_UTILS=y CONFIG_USB_GPIO_VBUS=m # CONFIG_USB_ULPI is not set # CONFIG_NOP_USB_XCEIV is not set CONFIG_MMC=y # CONFIG_MMC_DEBUG is not set CONFIG_MMC_UNSAFE_RESUME=y CONFIG_MMC_CLKGATE=y # # MMC/SD/SDIO Card Drivers # CONFIG_MMC_BLOCK=y CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_SDIO_UART=m # CONFIG_MMC_TEST is not set # # MMC/SD/SDIO Host Controller Drivers # CONFIG_MMC_PXA=y # CONFIG_MMC_SDHCI is not set # CONFIG_MMC_SDHCI_PXAV3 is not set # CONFIG_MMC_SDHCI_PXAV2 is not set # CONFIG_MMC_SPI is not set # 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=y CONFIG_LEDS_CLASS=y # # LED drivers # # CONFIG_LEDS_LM3530 is not set # CONFIG_LEDS_LM3642 is not set # CONFIG_LEDS_PCA9532 is not set CONFIG_LEDS_GPIO=y # CONFIG_LEDS_LP3944 is not set # CONFIG_LEDS_LP5521 is not set # CONFIG_LEDS_LP5523 is not set # CONFIG_LEDS_PCA955X is not set # CONFIG_LEDS_PCA9633 is not set # CONFIG_LEDS_DAC124S085 is not set # CONFIG_LEDS_BD2802 is not set # CONFIG_LEDS_LT3593 is not set # CONFIG_LEDS_RENESAS_TPU is not set # CONFIG_LEDS_TCA6507 is not set # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_OT200 is not set # CONFIG_LEDS_BLINKM is not set CONFIG_LEDS_TRIGGERS=y # # LED Triggers # # CONFIG_LEDS_TRIGGER_TIMER is not set # CONFIG_LEDS_TRIGGER_ONESHOT is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_CPU is not set # CONFIG_LEDS_TRIGGER_GPIO is not set # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set # # iptables trigger is under Netfilter config (LED target) # # CONFIG_LEDS_TRIGGER_TRANSIENT 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_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_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_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 # # 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_SA1100 is not set CONFIG_RTC_DRV_PXA=y # CONFIG_DMADEVICES is not set # CONFIG_AUXDISPLAY is not set CONFIG_UIO=m # CONFIG_UIO_PDRV is not set # CONFIG_UIO_PDRV_GENIRQ is not set CONFIG_VIRTIO=m # # Virtio drivers # # CONFIG_VIRTIO_BALLOON is not set CONFIG_VIRTIO_MMIO=m # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set # # Microsoft Hyper-V guest support # # CONFIG_STAGING is not set CONFIG_CLKDEV_LOOKUP=y # # Hardware Spinlock drivers # CONFIG_CLKSRC_MMIO=y # CONFIG_IOMMU_SUPPORT is not set # # Remoteproc drivers (EXPERIMENTAL) # # CONFIG_STE_MODEM_RPROC is not set # # Rpmsg drivers (EXPERIMENTAL) # # CONFIG_VIRT_DRIVERS is not set # 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 # # File systems # CONFIG_EXT2_FS=y # CONFIG_EXT2_FS_XATTR is not set # CONFIG_EXT2_FS_XIP is not set CONFIG_EXT3_FS=y # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set # CONFIG_EXT3_FS_XATTR is not set # CONFIG_EXT4_FS is not set CONFIG_JBD=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=y CONFIG_EXPORTFS=y CONFIG_FILE_LOCKING=y CONFIG_FSNOTIFY=y # CONFIG_DNOTIFY is not set CONFIG_INOTIFY_USER=y CONFIG_FANOTIFY=y # 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_FAT_FS=y # CONFIG_MSDOS_FS is not set CONFIG_VFAT_FS=y CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" # 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=y # CONFIG_ADFS_FS is not set # CONFIG_AFFS_FS is not set # CONFIG_ECRYPT_FS is not set # CONFIG_HFS_FS is not set # CONFIG_HFSPLUS_FS is not set # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set CONFIG_JFFS2_FS=m CONFIG_JFFS2_FS_DEBUG=0 CONFIG_JFFS2_FS_WRITEBUFFER=y # CONFIG_JFFS2_FS_WBUF_VERIFY is not set CONFIG_JFFS2_SUMMARY=y # CONFIG_JFFS2_FS_XATTR is not set CONFIG_JFFS2_COMPRESSION_OPTIONS=y CONFIG_JFFS2_ZLIB=y CONFIG_JFFS2_LZO=y CONFIG_JFFS2_RTIME=y CONFIG_JFFS2_RUBIN=y # CONFIG_JFFS2_CMODE_NONE is not set CONFIG_JFFS2_CMODE_PRIORITY=y # CONFIG_JFFS2_CMODE_SIZE is not set # CONFIG_JFFS2_CMODE_FAVOURLZO is not set CONFIG_LOGFS=m CONFIG_CRAMFS=m # CONFIG_SQUASHFS is not set # CONFIG_VXFS_FS is not set # CONFIG_MINIX_FS is not set # CONFIG_OMFS_FS is not set # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set # CONFIG_QNX6FS_FS is not set # CONFIG_ROMFS_FS is not set # CONFIG_PSTORE is not set # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=m # CONFIG_NFS_V2 is not set CONFIG_NFS_V3=m # CONFIG_NFS_V3_ACL is not set CONFIG_NFS_V4=m # CONFIG_NFS_SWAP is not set # CONFIG_NFS_V4_1 is not set # CONFIG_NFS_USE_LEGACY_DNS is not set CONFIG_NFS_USE_KERNEL_DNS=y CONFIG_NFSD=m CONFIG_NFSD_V3=y # CONFIG_NFSD_V3_ACL is not set CONFIG_NFSD_V4=y # CONFIG_NFSD_FAULT_INJECTION is not set CONFIG_LOCKD=m CONFIG_LOCKD_V4=y CONFIG_NFS_COMMON=y CONFIG_SUNRPC=m CONFIG_SUNRPC_GSS=m # CONFIG_SUNRPC_DEBUG is not set # CONFIG_CEPH_FS is not set CONFIG_CIFS=m # CONFIG_CIFS_STATS is not set # CONFIG_CIFS_WEAK_PW_HASH is not set # CONFIG_CIFS_UPCALL is not set # CONFIG_CIFS_XATTR is not set # CONFIG_CIFS_DEBUG2 is not set # CONFIG_CIFS_DFS_UPCALL is not set # CONFIG_CIFS_SMB2 is not set # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set CONFIG_NLS=y CONFIG_NLS_DEFAULT="cp437" CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m CONFIG_NLS_CODEPAGE_850=m CONFIG_NLS_CODEPAGE_852=m CONFIG_NLS_CODEPAGE_855=m CONFIG_NLS_CODEPAGE_857=m CONFIG_NLS_CODEPAGE_860=m CONFIG_NLS_CODEPAGE_861=m CONFIG_NLS_CODEPAGE_862=m CONFIG_NLS_CODEPAGE_863=m CONFIG_NLS_CODEPAGE_864=m CONFIG_NLS_CODEPAGE_865=m CONFIG_NLS_CODEPAGE_866=m CONFIG_NLS_CODEPAGE_869=m CONFIG_NLS_CODEPAGE_936=m CONFIG_NLS_CODEPAGE_950=m CONFIG_NLS_CODEPAGE_932=m CONFIG_NLS_CODEPAGE_949=m CONFIG_NLS_CODEPAGE_874=m CONFIG_NLS_ISO8859_8=m CONFIG_NLS_CODEPAGE_1250=m CONFIG_NLS_CODEPAGE_1251=m CONFIG_NLS_ASCII=m CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_2=m CONFIG_NLS_ISO8859_3=m CONFIG_NLS_ISO8859_4=m CONFIG_NLS_ISO8859_5=m CONFIG_NLS_ISO8859_6=m CONFIG_NLS_ISO8859_7=m CONFIG_NLS_ISO8859_9=m CONFIG_NLS_ISO8859_13=m CONFIG_NLS_ISO8859_14=m CONFIG_NLS_ISO8859_15=m CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m # 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=y # CONFIG_DLM is not set # # Kernel hacking # # CONFIG_PRINTK_TIME is not set CONFIG_DEFAULT_MESSAGE_LOGLEVEL=1 # CONFIG_ENABLE_WARN_DEPRECATED is not set # CONFIG_ENABLE_MUST_CHECK is not set CONFIG_FRAME_WARN=1024 CONFIG_MAGIC_SYSRQ=y # 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_DEBUG_KERNEL=y # CONFIG_DEBUG_SHIRQ is not set # CONFIG_LOCKUP_DETECTOR is not set # CONFIG_PANIC_ON_OOPS is not set CONFIG_PANIC_ON_OOPS_VALUE=0 # CONFIG_DETECT_HUNG_TASK is not set # CONFIG_SCHED_DEBUG is not set # CONFIG_SCHEDSTATS is not set # CONFIG_TIMER_STATS is not set # CONFIG_DEBUG_OBJECTS is not set # CONFIG_DEBUG_SLAB is not set CONFIG_HAVE_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KMEMLEAK is not set # CONFIG_DEBUG_PREEMPT is not set # 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_LOCK_ALLOC is not set # CONFIG_PROVE_LOCKING is not set # CONFIG_PROVE_RCU_DELAY is not set # CONFIG_SPARSE_RCU_POINTER 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_STACK_USAGE is not set # CONFIG_DEBUG_KOBJECT is not set # CONFIG_DEBUG_BUGVERBOSE is not set # CONFIG_DEBUG_INFO is not set # CONFIG_DEBUG_VM is not set # CONFIG_DEBUG_WRITECOUNT is not set # CONFIG_DEBUG_MEMORY_INIT is not set # CONFIG_DEBUG_LIST is not set # CONFIG_TEST_LIST_SORT is not set # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set # CONFIG_DEBUG_CREDENTIALS is not set CONFIG_FRAME_POINTER=y # CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_TRACE is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # CONFIG_NOTIFIER_ERROR_INJECTION is not set # CONFIG_FAULT_INJECTION is not set # CONFIG_LATENCYTOP is not set # CONFIG_DEBUG_PAGEALLOC 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_TRACING_SUPPORT=y # CONFIG_FTRACE is not set # CONFIG_RBTREE_TEST is not set # CONFIG_INTERVAL_TREE_TEST is not set # CONFIG_DMA_API_DEBUG is not set # CONFIG_ATOMIC64_SELFTEST is not set # CONFIG_SAMPLES is not set CONFIG_HAVE_ARCH_KGDB=y # CONFIG_KGDB is not set # CONFIG_TEST_KSTRTOX is not set # CONFIG_STRICT_DEVMEM is not set # CONFIG_ARM_UNWIND is not set # CONFIG_DEBUG_USER is not set # CONFIG_DEBUG_LL is not set CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" # # Security options # CONFIG_KEYS=y CONFIG_ENCRYPTED_KEYS=m # CONFIG_KEYS_DEBUG_PROC_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_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_AEAD=m CONFIG_CRYPTO_AEAD2=y CONFIG_CRYPTO_BLKCIPHER=m CONFIG_CRYPTO_BLKCIPHER2=y CONFIG_CRYPTO_HASH=m CONFIG_CRYPTO_HASH2=y CONFIG_CRYPTO_RNG=m CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_PCOMP=m CONFIG_CRYPTO_PCOMP2=y CONFIG_CRYPTO_MANAGER=m CONFIG_CRYPTO_MANAGER2=y CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y # CONFIG_CRYPTO_GF128MUL is not set CONFIG_CRYPTO_NULL=m CONFIG_CRYPTO_WORKQUEUE=y # CONFIG_CRYPTO_CRYPTD is not set CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_TEST=m # # 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=m # CONFIG_CRYPTO_CTR is not set # CONFIG_CRYPTO_CTS is not set CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_LRW is not set CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_XTS is not set # # Hash modes # CONFIG_CRYPTO_HMAC=m # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_VMAC is not set # # Digest # CONFIG_CRYPTO_CRC32C=m # CONFIG_CRYPTO_GHASH is not set CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=m CONFIG_CRYPTO_MICHAEL_MIC=m # 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=m # CONFIG_CRYPTO_SHA1_ARM is not set CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_SHA512=m # CONFIG_CRYPTO_TGR192 is not set CONFIG_CRYPTO_WP512=m # # Ciphers # CONFIG_CRYPTO_AES=y # CONFIG_CRYPTO_AES_ARM is not set CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_BLOWFISH_COMMON=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m # CONFIG_CRYPTO_FCRYPT is not set CONFIG_CRYPTO_KHAZAD=m # CONFIG_CRYPTO_SALSA20 is not set # CONFIG_CRYPTO_SEED is not set CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_TWOFISH_COMMON=m # # Compression # CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_ZLIB=m CONFIG_CRYPTO_LZO=m # # Random Number Generation # # CONFIG_CRYPTO_ANSI_CPRNG is not set CONFIG_CRYPTO_USER_API=m CONFIG_CRYPTO_USER_API_HASH=m CONFIG_CRYPTO_USER_API_SKCIPHER=m # CONFIG_CRYPTO_HW is not set # CONFIG_ASYMMETRIC_KEY_TYPE 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_PCI_IOMAP=y CONFIG_GENERIC_IO=y CONFIG_CRC_CCITT=y CONFIG_CRC16=m # 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=m # CONFIG_CRC8 is not set CONFIG_ZLIB_INFLATE=m CONFIG_ZLIB_DEFLATE=m CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y CONFIG_XZ_DEC=m CONFIG_XZ_DEC_X86=y CONFIG_XZ_DEC_POWERPC=y CONFIG_XZ_DEC_IA64=y CONFIG_XZ_DEC_ARM=y CONFIG_XZ_DEC_ARMTHUMB=y CONFIG_XZ_DEC_SPARC=y CONFIG_XZ_DEC_BCJ=y # CONFIG_XZ_DEC_TEST is not set CONFIG_BTREE=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y CONFIG_HAS_DMA=y CONFIG_DQL=y CONFIG_NLATTR=y CONFIG_GENERIC_ATOMIC64=y CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y CONFIG_AVERAGE=y # CONFIG_CORDIC is not set # CONFIG_DDR is not set And here's dmesg output from an almost vanilla 3.7-rc7. I have only one patch applied (fixes boot hang): http://www.spinics.net/lists/arm-kernel/msg210487.html ======================================= Booting Linux on physical CPU 0 Initializing cgroup subsys cpu Linux version 3.7.0-rc7+ (dromede at dromedary) (gcc version 4.7.2 (GCC) ) #63 PREEMPT Fri Nov 30 13:49:35 CET 2012 CPU: XScale-PXA270 [69054117] revision 7 (ARMv5TE), cr=0000397f CPU: VIVT data cache, VIVT instruction cache Machine: SHARP Akita Memory policy: ECC disabled, Data cache writeback BUG: mapping for 0x00000000 at 0xff000000 out of vmalloc space Run Mode clock: 208.00MHz (*16) Turbo Mode clock: 416.00MHz (*2.0, active) Memory clock: 208.00MHz (/2) System bus clock: 208.00MHz On node 0 totalpages: 16384 free_area_init_node: node 0, pgdat c03e9ed8, node_mem_map c0401000 Normal zone: 128 pages used for memmap Normal zone: 0 pages reserved Normal zone: 16256 pages, LIFO batch:3 pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 pcpu-alloc: [0] 0 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 Kernel command line: root=/dev/sda2 rootfstype=ext2 rootwait mtdparts=sharpsl-nand:7168k(smf),59392k(root),-(home) fbcon=rotate:1 root=/dev/sda2 rootfstype=ext2 console=ttyS0,115200 console=tty0 debug PID hash table entries: 256 (order: -2, 1024 bytes) Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Memory: 64MB = 64MB total Memory: 60832k/60832k available, 4704k reserved, 0K highmem Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) vmalloc : 0xc4800000 - 0xff000000 ( 936 MB) lowmem : 0xc0000000 - 0xc4000000 ( 64 MB) modules : 0xbf000000 - 0xc0000000 ( 16 MB) .text : 0xc0008000 - 0xc03a6000 (3704 kB) .init : 0xc03a6000 - 0xc03c33b0 ( 117 kB) .data : 0xc03c4000 - 0xc03ea8d8 ( 155 kB) .bss : 0xc03ea8fc - 0xc0400504 ( 88 kB) NR_IRQS:16 nr_irqs:288 288 sched_clock: 32 bits at 3250kHz, resolution 307ns, wraps every 1321528ms Console: colour dummy device 80x30 console [tty0] enabled Calibrating delay loop... 415.33 BogoMIPS (lpj=2076672) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok Setting up static identity map for 0xa02cc9e8 - 0xa02cca54 devtmpfs: initialized NET: Registered protocol family 16 DMA: preallocated 256 KiB pool for atomic coherent allocations Sharp Scoop Device found at 0x10800000 -> 0xc4846000 bio: create slab <bio-0> at 0 SCSI subsystem initialized libata version 3.00 loaded. pxa2xx-spi pxa2xx-spi.2: master is unqueued, this is deprecated I2C: i2c-0: PXA I2C adapter I2C: i2c-1: PXA I2C adapter Advanced Linux Sound Architecture Driver Initialized. Switching to clocksource oscr0 NET: Registered protocol family 2 TCP established hash table entries: 2048 (order: 2, 16384 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) TCP: reno registered UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 PXA CPU 27x max frequency not defined (pxa27x_maxfreq), assuming pxa271 with 416000kHz maxfreq PXA CPU frequency change support initialized msgmni has been set to 118 io scheduler noop registered (default) ------------[ cut here ]------------ WARNING: at drivers/gpio/gpiolib.c:1672 __gpio_set_value+0x38/0xa4() Modules linked in: Backtrace: [<c000c0ac>] (dump_backtrace+0x0/0x110) from [<c02c8278>] (dump_stack+0x18/0x1c) r6:c0158fc8 r5:00000009 r4:00000000 r3:c03d4f70 [<c02c8260>] (dump_stack+0x0/0x1c) from [<c0019194>] (warn_slowpath_common+0x54/0x6c) [<c0019140>] (warn_slowpath_common+0x0/0x6c) from [<c00191d0>] (warn_slowpath_null+0x24/0x2c) r8:c38d7c00 r7:c03f82c0 r6:00000000 r5:000000d0 r4:c384e4fc r3:00000009 [<c00191ac>] (warn_slowpath_null+0x0/0x2c) from [<c0158fc8>] (__gpio_set_value+0x38/0xa4) [<c0158f90>] (__gpio_set_value+0x0/0xa4) from [<c0169b4c>] (corgi_bl_set_intensity+0x44/0x74) r7:c392b418 r6:c392b400 r5:c3934df0 r4:0000002f [<c0169b08>] (corgi_bl_set_intensity+0x0/0x74) from [<c0169c1c>] (corgi_bl_update_status+0x5c/0x64) r5:c03d31f0 r4:c392b400 [<c0169bc0>] (corgi_bl_update_status+0x0/0x64) from [<c02c3a68>] (corgi_lcd_probe+0x1a8/0x258) r4:c3934df0 r3:c0169bc0 [<c02c38c0>] (corgi_lcd_probe+0x0/0x258) from [<c01da7a4>] (spi_drv_probe+0x20/0x24) r8:00000052 r7:c0192d9c r6:c03da6e8 r5:c38d7c34 r4:c38d7c00 [<c01da784>] (spi_drv_probe+0x0/0x24) from [<c0192c44>] (driver_probe_device+0xb0/0x208) [<c0192b94>] (driver_probe_device+0x0/0x208) from [<c0192e0c>] (__driver_attach+0x70/0x94) r6:c03da6e8 r5:c38d7c34 r4:c38d7c00 r3:00000000 [<c0192d9c>] (__driver_attach+0x0/0x94) from [<c0191268>] (bus_for_each_dev+0x54/0x90) r6:c03da6e8 r5:c3827e80 r4:00000000 r3:00000000 [<c0191214>] (bus_for_each_dev+0x0/0x90) from [<c01927a4>] (driver_attach+0x20/0x28) r7:00000000 r6:c03e29ec r5:c392a980 r4:c03da6e8 [<c0192784>] (driver_attach+0x0/0x28) from [<c0192340>] (bus_add_driver+0xd4/0x22c) [<c019226c>] (bus_add_driver+0x0/0x22c) from [<c019335c>] (driver_register+0xa4/0x134) r8:00000052 r7:c03ea900 r6:c03c328c r5:c03bdfb4 r4:c03da6e8 [<c01932b8>] (driver_register+0x0/0x134) from [<c01db7ec>] (spi_register_driver+0x4c/0x60) [<c01db7a0>] (spi_register_driver+0x0/0x60) from [<c03b3cd0>] (corgi_lcd_driver_init+0x14/0x1c) [<c03b3cbc>] (corgi_lcd_driver_init+0x0/0x1c) from [<c000868c>] (do_one_initcall+0x9c/0x174) [<c00085f0>] (do_one_initcall+0x0/0x174) from [<c02c1b94>] (kernel_init+0xf4/0x2a8) [<c02c1aa0>] (kernel_init+0x0/0x2a8) from [<c0009270>] (ret_from_fork+0x14/0x24) ---[ end trace 6b8c26f7014f5efc ]--- ------------[ cut here ]------------ WARNING: at drivers/gpio/gpiolib.c:1672 __gpio_set_value+0x38/0xa4() Modules linked in: Backtrace: [<c000c0ac>] (dump_backtrace+0x0/0x110) from [<c02c8278>] (dump_stack+0x18/0x1c) r6:c0158fc8 r5:00000009 r4:00000000 r3:c03d4f70 [<c02c8260>] (dump_stack+0x0/0x1c) from [<c0019194>] (warn_slowpath_common+0x54/0x6c) [<c0019140>] (warn_slowpath_common+0x0/0x6c) from [<c00191d0>] (warn_slowpath_null+0x24/0x2c) r8:c38d7c00 r7:c03f82c0 r6:0000002f r5:000000cf r4:c384e4fc r3:00000009 [<c00191ac>] (warn_slowpath_null+0x0/0x2c) from [<c0158fc8>] (__gpio_set_value+0x38/0xa4) [<c0158f90>] (__gpio_set_value+0x0/0xa4) from [<c0169b60>] (corgi_bl_set_intensity+0x58/0x74) r7:c392b418 r6:c392b400 r5:c3934df0 r4:0000002f [<c0169b08>] (corgi_bl_set_intensity+0x0/0x74) from [<c0169c1c>] (corgi_bl_update_status+0x5c/0x64) r5:c03d31f0 r4:c392b400 [<c0169bc0>] (corgi_bl_update_status+0x0/0x64) from [<c02c3a68>] (corgi_lcd_probe+0x1a8/0x258) r4:c3934df0 r3:c0169bc0 [<c02c38c0>] (corgi_lcd_probe+0x0/0x258) from [<c01da7a4>] (spi_drv_probe+0x20/0x24) r8:00000052 r7:c0192d9c r6:c03da6e8 r5:c38d7c34 r4:c38d7c00 [<c01da784>] (spi_drv_probe+0x0/0x24) from [<c0192c44>] (driver_probe_device+0xb0/0x208) [<c0192b94>] (driver_probe_device+0x0/0x208) from [<c0192e0c>] (__driver_attach+0x70/0x94) r6:c03da6e8 r5:c38d7c34 r4:c38d7c00 r3:00000000 [<c0192d9c>] (__driver_attach+0x0/0x94) from [<c0191268>] (bus_for_each_dev+0x54/0x90) r6:c03da6e8 r5:c3827e80 r4:00000000 r3:00000000 [<c0191214>] (bus_for_each_dev+0x0/0x90) from [<c01927a4>] (driver_attach+0x20/0x28) r7:00000000 r6:c03e29ec r5:c392a980 r4:c03da6e8 [<c0192784>] (driver_attach+0x0/0x28) from [<c0192340>] (bus_add_driver+0xd4/0x22c) [<c019226c>] (bus_add_driver+0x0/0x22c) from [<c019335c>] (driver_register+0xa4/0x134) r8:00000052 r7:c03ea900 r6:c03c328c r5:c03bdfb4 r4:c03da6e8 [<c01932b8>] (driver_register+0x0/0x134) from [<c01db7ec>] (spi_register_driver+0x4c/0x60) [<c01db7a0>] (spi_register_driver+0x0/0x60) from [<c03b3cd0>] (corgi_lcd_driver_init+0x14/0x1c) [<c03b3cbc>] (corgi_lcd_driver_init+0x0/0x1c) from [<c000868c>] (do_one_initcall+0x9c/0x174) [<c00085f0>] (do_one_initcall+0x0/0x174) from [<c02c1b94>] (kernel_init+0xf4/0x2a8) [<c02c1aa0>] (kernel_init+0x0/0x2a8) from [<c0009270>] (ret_from_fork+0x14/0x24) ---[ end trace 6b8c26f7014f5efd ]--- Console: switching to colour frame buffer device 80x30 PXA Overlay driver loaded successfully! pxa2xx-uart.0: ttyS0 at MMIO 0x40100000 (irq = 22) is a UART1 console [ttyS0] enabled pxa2xx-uart.1: ttyS1 at MMIO 0x40200000 (irq = 21) is a UART2 pxa2xx-uart.2: ttyS2 at MMIO 0x40700000 (irq = 20) is a UART3 loop: module loaded physmap platform flash device: 00800000 at 00000000 pcmcia_socket pcmcia_socket0: pccard: PCMCIA card inserted into slot 0 pcmcia 0.0: pcmcia: registering new device pcmcia0.0 (IRQ: 201) Creating 1 MTD partitions on "physmap-flash": 0x000000140000-0x000000800000 : "Boot PROM Filesystem" NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3V 8-bit), page size: 2048, OOB size: 64 scsi0 : pata_pcmcia Scanning device for bad blocks ata1: PATA max PIO0 cmd 0xc4860000 ctl 0xc486000e irq 201 3 cmdlinepart partitions found on MTD device sharpsl-nand Creating 3 MTD partitions on "sharpsl-nand": 0x000000000000-0x000000700000 : "smf" 0x000000700000-0x000004100000 : "root" 0x000004100000-0x000008000000 : "home" input: matrix-keypad as /devices/platform/matrix-keypad/input/input0 ads7846 spi2.0: touchscreen, irq 107 input: ADS7846 Touchscreen as /devices/platform/pxa2xx-spi.2/spi_master/spi2/spi2.0/input/input1 pxa-rtc pxa-rtc: rtc core: registered pxa-rtc as rtc0 ata1.00: CFA: CF Card, Ver2.20, max PIO6 ata1.00: 1969632 sectors, multi 0: LBA APM Battery Driver cpuidle: using governor ladder ata1.00: configured for PIO0 cpuidle: using governor menu scsi 0:0:0:0: Direct-Access ATA CF Card Ver2 PQ: 0 ANSI: 5 sd 0:0:0:0: [sda] 1969632 512-byte logical blocks: (1.00 GB/961 MiB) Registered led device: spitz:amber:charge sd 0:0:0:0: [sda] Write Protect is off Registered led device: spitz:green:hddactivity sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00 sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA soc-audio soc-audio: ASoC machine Spitz should use snd_soc_register_card() sda: sda1 sda2 sd 0:0:0:0: [sda] Attached SCSI removable disk mmc0: problem reading SD Status register. mmc0: error -110 whilst initialising SD card mmc0: new SDHC card at address 0007 mmcblk0: mmc0:0007 SD08G 7.49 GiB mmcblk0: p1 p2 p3 soc-audio soc-audio: wm8750-hifi <-> pxa2xx-i2s mapping ok TCP: cubic registered Key type dns_resolver registered XScale iWMMXt coprocessor detected. input: gpio-keys as /devices/platform/gpio-keys/input/input2 pxa-rtc pxa-rtc: setting system clock to 2000-03-03 10:01:52 UTC (952077712) ALSA device list: #0: Spitz VFS: Mounted root (ext2 filesystem) readonly on device 8:2. devtmpfs: mounted Freeing init memory: 116K ^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2012-12-12 22:29 UTC | newest] Thread overview: 24+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-11-30 1:38 [ARM] head.S change broke platform device registration? Marko Katić 2012-11-30 10:28 ` Marc Zyngier 2012-11-30 12:20 ` Marko Katić 2012-11-30 13:45 ` Marc Zyngier 2012-11-30 14:34 ` Russell King - ARM Linux 2012-12-04 21:48 ` Marko Katić 2012-12-04 22:18 ` Russell King - ARM Linux 2012-12-05 22:18 ` Marko Katić 2012-12-05 23:58 ` Russell King - ARM Linux 2012-12-07 12:28 ` Russell King - ARM Linux 2012-12-07 13:49 ` Dave Martin 2012-12-10 17:23 ` Marko Katić 2012-12-10 17:31 ` Dave Martin 2012-12-10 17:21 ` Marko Katić 2012-12-11 0:25 ` Russell King - ARM Linux 2012-12-12 15:55 ` Richard Purdie 2012-12-12 17:22 ` Marko Katić 2012-12-12 17:59 ` Russell King - ARM Linux 2012-12-12 22:29 ` Richard Purdie 2012-11-30 12:17 ` Dave Martin 2012-11-30 12:28 ` Marko Katić 2012-11-30 12:40 ` Russell King - ARM Linux 2012-11-30 13:07 ` Marko Katić 2012-11-30 13:11 ` Marko Katić
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).