I want to update my kernel for a MX27L ( currently v2.6.22 ) so what branch to use for this?
I tried already the 2.35.3_maintain but bunches of defines missing and its seams that also the Kconfig needs some face lifting ;-)
thanks for your help.
For i.MX27 you can use the one provided by Freescale v2.6.22 or the kernel.org mainline (the stable release today is 3.8.2).
The kernel.org release doesn't have all drivers that the Freescale release has, but you can port any missed driver if needed.
Freescale release 2.35.3_mantain was made to support i.MX28 and 53.
meanwhile I have many thing working with v3.8.3 but fight a fight with DM9000 and interrupt handling.
May you familiar with the gpio stuff ? I tried the original IORESOURCE_IRQ_LOW_LEVEL which makes the system unusable and with IORESOURCE_IRQ_LOWEDGE its works 1st then its runs into
a WATCHDOG trap.
Do you have any hits ?
[ 108.058220] ------------[ cut here ]------------
[ 108.062941] WARNING: at net/sched/sch_generic.c:254 dev_watchdog+0x2b8/0x2d8()
[ 108.070290] NETDEV WATCHDOG: eth0 (dm9000): transmit queue 0 timed out
[ 108.076850] Modules linked in:
[ 108.076952] [<c0018268>] (unwind_backtrace+0x0/0xf0) from [<c00221a4>] (warn_slowpath_common+0x4c/0x64)
[ 108.077035] [<c00221a4>] (warn_slowpath_common+0x4c/0x64) from [<c0022250>] (warn_slowpath_fmt+0x30/0x40)
[ 108.077117] [<c0022250>] (warn_slowpath_fmt+0x30/0x40) from [<c03b2af0>] (dev_watchdog+0x2b8/0x2d8)
[ 108.077202] [<c03b2af0>] (dev_watchdog+0x2b8/0x2d8) from [<c00301a8>] (call_timer_fn+0x3c/0x154)
[ 108.077280] [<c00301a8>] (call_timer_fn+0x3c/0x154) from [<c0031280>] (run_timer_softirq+0x1e0/0x2f4)
[ 108.077368] [<c0031280>] (run_timer_softirq+0x1e0/0x2f4) from [<c0029bc0>] (__do_softirq+0xc8/0x258)
[ 108.077450] [<c0029bc0>] (__do_softirq+0xc8/0x258) from [<c002a074>] (irq_exit+0x88/0x94)
[ 108.077536] [<c002a074>] (irq_exit+0x88/0x94) from [<c0013d80>] (handle_IRQ+0x34/0x84)
[ 108.077609] [<c0013d80>] (handle_IRQ+0x34/0x84) from [<c0008700>] (avic_handle_irq+0x34/0x54)
[ 108.077696] [<c0008700>] (avic_handle_irq+0x34/0x54) from [<c0461180>] (__irq_svc+0x40/0x6c)
[ 108.077736] Exception stack(0xc0603f60 to 0xc0603fa8)
[ 108.077803] 3f60: 00000000 0005317f 0005217f 60000013 c0602000 c0602000 c063e488 c0602000
[ 108.077869] 3f80: c060d3b0 41069264 a05f7128 00000000 600000d3 c0603fa8 c0013e44 c0013e3c
[ 108.077909] 3fa0: 60000013 ffffffff
[ 108.077994] [<c0461180>] (__irq_svc+0x40/0x6c) from [<c0013e3c>] (default_idle+0x24/0x34)
[ 108.078074] [<c0013e3c>] (default_idle+0x24/0x34) from [<c0013f94>] (cpu_idle+0x80/0xc8)
[ 108.078156] [<c0013f94>] (cpu_idle+0x80/0xc8) from [<c05d7748>] (start_kernel+0x29c/0x2ec)
[ 108.078284] ---[ end trace f08b527f74ba5702 ]---
I don't have experience with GPIO. I suggest you to create a new topic on community.
BTW, thanks for sharing the link Linux Linux Kernel version 2.6.22 : Security vulnerabilities
I think to write a mail to LKML , but 1st I found a bug design error (I think) . My guys connect DM9000A pin 34 (INT) to a pull up but internal the chip is pulled down via 60k. I think thats ask for the trouble .
Yes, after repairing the hardware, it would be a good idea to post to ARM kernel mailing list.
First, I would also suggest to look at some other boards that has dm9000 connected. Among these boards there are two i.mx based boards that you can reference:
It would be also nice to post your patch in the email sent to the ARM kernel mailing list, so that people can review what you did.
Double check if you configured the IRQ pin as input.
I checked and we changed the config for the DM9000A set pin 20 (EECK PIN) pulled high result in that the INT (pin 34) is active low.. the design is ok. I will adjust to use .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE for it. .. Its works for startup get DHCP and NTP done but shortly the WATCHDOG coming back .. something is not working for __soft_irq on my implementation. Obverse too the ping times to/from my board in the local network all over 50ms .. should be 0.xxxms
I keep going.
can you post me a link .. I will do so if I found the problem - but first I let the hardware guys change the Pin 20 = floating and Pin 34 active high without extra pull up/downs.
thanks for your relpy.
I had a look into the new kernel yesterday and its looks very clean in the arch/arm/mach-imx now. I will give it a try I ported some vpu stuff already to a 3.x kernel. Reason why I don't want the 2.6.22 is the bunch of 352 open security holes .. Linux Linux Kernel version 2.6.22 : Security vulnerabilities