Patchwork [5/7] ARM: mxs: convert tx28 board to device tree

login
register
mail settings
Submitter Lothar Waßmann
Date July 13, 2012, 9:21 a.m.
Message ID <20479.59525.385001.544046@ipc1.ka-ro>
Download mbox | patch
Permalink /patch/170834/
State New
Headers show

Comments

Lothar Waßmann - July 13, 2012, 9:21 a.m.
Shawn Guo writes:
> Hi Lothar,
> 
> On Mon, Jul 09, 2012 at 03:04:53PM +0200, Lothar Waßmann wrote:
> > This doesn't work at least because the pins that are used for PHY
> > strap options need to be reconfigured for their FEC functionality
> > after releasing the PHY reset. But even after adding the missing
> > reconfiguration the ethernet PHY does not work.
> > 
> Can you please test the branch below to see if ethernet PHY works?
> 
No. See bootlog below.

The following patch is required for the kernel to build:

>   git://git.linaro.org/people/shawnguo/linux-2.6.git mxs/dt/tx28
> 
> I hope I have addressed the issue with pin configuration there.
> But I'm not sure if "enet_out" clock needs to be enabled on tx28.
> I have enabled it in the code above.  You need to remove
> enable_clk_enet_out call from tx28_init, if it's not needed.
> 
ENET_CLK is required on the module.

## Booting kernel from Legacy Image at 40100000 ...
   Image Name:   Linux-3.5.0-rc6-next-20120712-ka
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2277008 Bytes = 2.2 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...


Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0
Linux version 3.5.0-rc6-next-20120712-karo+ (lothar@ipc1) (gcc version 4.5.3 (GCC) ) #5 PREEMPT Fri Jul 13 11:06
:19 CEST 2012
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Ka-Ro electronics TX28 module
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 32768
free_area_init_node: node 0, pgdat c046db28, node_mem_map c04a8000
  Normal zone: 256 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 32512 pages, LIFO batch:7
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
Kernel command line: init=/linuxrc mtdparts=gpmi-nand:128k@0x20000(env),1m(u-boot),4m(linux),16m(rootfs),-(userfs) root=/dev/nfs nfsroot=192.168.1.225:/tftpboot/KARO/imx28-new,nolock ip=bootp debug panic=1 console=ttyAMA0,115200 ro
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB = 128MB total
Memory: 125136k/125136k available, 5936k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xc8800000 - 0xff000000   ( 872 MB)
    lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc0419d40   (4168 kB)
      .init : 0xc041a000 - 0xc043be28   ( 136 kB)
      .data : 0xc043c000 - 0xc046e540   ( 202 kB)
       .bss : 0xc046e564 - 0xc04a7020   ( 227 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:304
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms
Console: colour dummy device 80x30
Calibrating delay loop... 226.09 BogoMIPS (lpj=1130496)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0x402fc958 - 0x402fc9b0
------------[ cut here ]------------
WARNING: at /usr/local/src/arm/projects/imx28/linux-tx28-dt/kernel/workqueue.c:1217 worker_enter_idle+0x114/0x13
0()
Modules linked in:
[<c001381c>] (unwind_backtrace+0x0/0xe4) from [<c001adf8>] (warn_slowpath_common+0x4c/0x64)
[<c001adf8>] (warn_slowpath_common+0x4c/0x64) from [<c001ae28>] (warn_slowpath_null+0x18/0x1c)
[<c001ae28>] (warn_slowpath_null+0x18/0x1c) from [<c0030304>] (worker_enter_idle+0x114/0x130)
[<c0030304>] (worker_enter_idle+0x114/0x130) from [<c0030348>] (start_worker+0x28/0x34)
[<c0030348>] (start_worker+0x28/0x34) from [<c0420954>] (init_workqueues+0x144/0x2bc)
[<c0420954>] (init_workqueues+0x144/0x2bc) from [<c00088e4>] (do_one_initcall+0x9c/0x174)
[<c00088e4>] (do_one_initcall+0x9c/0x174) from [<c041a7b0>] (kernel_init+0x50/0x1b4)
[<c041a7b0>] (kernel_init+0x50/0x1b4) from [<c000f464>] (kernel_thread_exit+0x0/0x8)
---[ end trace 84ec6457efae102a ]---
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
dummy: 
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
gpiochip_add: registered GPIOs 0 to 31 on device: imx28-gpio.0
gpiochip_add: registered GPIOs 32 to 63 on device: imx28-gpio.1
gpiochip_add: registered GPIOs 64 to 95 on device: imx28-gpio.2
gpiochip_add: registered GPIOs 96 to 127 on device: imx28-gpio.3
gpiochip_add: registered GPIOs 128 to 159 on device: imx28-gpio.4
Serial: AMBA PL011 UART driver
duart: ttyAMA0 at MMIO 0x80074000 (irq = 47) is a PL011 rev2
console [ttyAMA0] enabled
bio: create slab <bio-0> at 0
mxs-dma imx28-dma-apbh: initialized
mxs-dma imx28-dma-apbx: initialized
Switching to clocksource mxs_timer
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
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
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
NetWinder Floating Point Emulator V0.97 (double precision)
NFS: Registering the id_resolver key type
Key type id_resolver registered
jffs2: version 2.2. (NAND) (SUMMARY)  þþ 2001-2006 Red Hat, Inc.
msgmni has been set to 244
alg: No test for stdrng (krng)
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
uart-pl011 duart: no DMA platform data
mxs-auart.1: ttyAPP1 at MMIO 0x8006c000 (irq = 113) is a mxs-auart.1
mxs-auart mxs-auart.1: Found APPUART 3.1.0
brd: module loaded
loop: module loaded
GPMI NAND driver registered. (IMX)
libphy: fec_enet_mii_bus: probed
mousedev: PS/2 mouse device common for all mice
rtc-ds1307 0-0068: SET TIME!
rtc-ds1307 0-0068: rtc core: registered ds1339 as rtc0
stmp3xxx-rtc stmp3xxx-rtc.0: rtc core: registered stmp3xxx-rtc as rtc1
Registered led device: GPIO-LED
TCP: cubic registered
NET: Registered protocol family 17
Key type dns_resolver registered
rtc-ds1307 0-0068: setting system clock to 2000-01-01 00:00:33 UTC (946684833)
eth0: no PHY, assuming direct connection to switch
libphy: PHY fixed-0:00 not found
eth0: could not attach to PHY
IP-Config: Failed to open eth0
IP-Config: No network devices available
script "uboot": global timeout
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0): error -6
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[<c001381c>] (unwind_backtrace+0x0/0xe4) from [<c02fa1e0>] (panic+0x90/0x1e8)
[<c02fa1e0>] (panic+0x90/0x1e8) from [<c041ac94>] (mount_block_root+0x1d4/0x230)
[<c041ac94>] (mount_block_root+0x1d4/0x230) from [<c041aee4>] (mount_root+0xd0/0xf0)
[<c041aee4>] (mount_root+0xd0/0xf0) from [<c041b054>] (prepare_namespace+0x150/0x1b0)
[<c041b054>] (prepare_namespace+0x150/0x1b0) from [<c041a8cc>] (kernel_init+0x16c/0x1b4)
[<c041a8cc>] (kernel_init+0x16c/0x1b4) from [<c000f464>] (kernel_thread_exit+0x0/0x8)
Rebooting in 1 seconds..


Lothar Waßmann
Shawn Guo - July 15, 2012, 2:49 p.m.
On Fri, Jul 13, 2012 at 11:21:09AM +0200, Lothar Waßmann wrote:
> Shawn Guo writes:
> > Hi Lothar,
> > 
> > On Mon, Jul 09, 2012 at 03:04:53PM +0200, Lothar Waßmann wrote:
> > > This doesn't work at least because the pins that are used for PHY
> > > strap options need to be reconfigured for their FEC functionality
> > > after releasing the PHY reset. But even after adding the missing
> > > reconfiguration the ethernet PHY does not work.
> > > 
> > Can you please test the branch below to see if ethernet PHY works?
> > 
> No. See bootlog below.
> 
Thanks for testing, Lothar.  But from the boot log below, the kernel
did a non-DT boot rather than a boot from device tree.  More on this
below.  But does that mean ethernet PHY does not work even on non-DT
kernel right now?

> The following patch is required for the kernel to build:

Yes, Marek has reported that.  But I'm not so fond of fixing it right
away like that, since mxs_defconfig has it enabled with board file
support and does not expose the problem.

Instead, I would really like to remove those board files with equivalent
device tree support, and build in mach-mxs.c and ocotp.c all the time.

> --- a/arch/arm/mach-mxs/Kconfig
> +++ b/arch/arm/mach-mxs/Kconfig
> @@ -82,6 +82,7 @@ config MODULE_TX28
>  	select MXS_HAVE_PLATFORM_MXS_MMC
>  	select MXS_HAVE_PLATFORM_MXS_PWM
>  	select MXS_HAVE_PLATFORM_RTC_STMP3XXX
> +	select MXS_OCOTP
>  
>  config MODULE_M28
>  	bool
> 
> >   git://git.linaro.org/people/shawnguo/linux-2.6.git mxs/dt/tx28
> > 
> > I hope I have addressed the issue with pin configuration there.
> > But I'm not sure if "enet_out" clock needs to be enabled on tx28.
> > I have enabled it in the code above.  You need to remove
> > enable_clk_enet_out call from tx28_init, if it's not needed.
> > 
> ENET_CLK is required on the module.
> 
Ok, got it.

> ## Booting kernel from Legacy Image at 40100000 ...
>    Image Name:   Linux-3.5.0-rc6-next-20120712-ka
>    Image Type:   ARM Linux Kernel Image (uncompressed)
>    Data Size:    2277008 Bytes = 2.2 MiB
>    Load Address: 40008000
>    Entry Point:  40008000
>    Verifying Checksum ... OK
>    Loading Kernel Image ... OK
> OK
> 
> Starting kernel ...
> 
> 
> Uncompressing Linux... done, booting the kernel.
> Booting Linux on physical CPU 0
> Linux version 3.5.0-rc6-next-20120712-karo+ (lothar@ipc1) (gcc version 4.5.3 (GCC) ) #5 PREEMPT Fri Jul 13 11:06
> :19 CEST 2012
> CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
> CPU: VIVT data cache, VIVT instruction cache
> Machine: Ka-Ro electronics TX28 module

This line tells that the kernel is doing a traditional non-DT boot.
If the kernel boots from device tree, you should see the following line
instead.

Machine: Freescale i.MX28 (Device Tree), model: Ka-Ro electronics TX28 module

I'm not sure if you have your bootloader passes dtb to kernel or use
append-dtb approach.  In the later case, here are the brief
instructions.

- Enable CONFIG_ARM_APPENDED_DTB and CONFIG_ARM_ATAG_DTB_COMPAT
- Build kernel
- make ARCH=arm imx28-tx28.dtb
- cat arch/arm/boot/zImage arch/arm/boot/imx28-tx28.dtb > arch/arm/boot/zImage_dtb
- Boot zImage_dtb like you boot zImage as usual
Shawn Guo - July 15, 2012, 3 p.m.
On Sun, Jul 15, 2012 at 10:49:35PM +0800, Shawn Guo wrote:
> below.  But does that mean ethernet PHY does not work even on non-DT
> kernel right now?
> 
So I guess you need something like c46d291 (ARM: apx4devkit: fix FEC
enabling PHY clock) for TX28 too.
Lothar Waßmann - July 16, 2012, 7 a.m.
Hi,

Shawn Guo writes:
> On Fri, Jul 13, 2012 at 11:21:09AM +0200, Lothar Waßmann wrote:
> > Shawn Guo writes:
> > > Hi Lothar,
> > > 
> > > On Mon, Jul 09, 2012 at 03:04:53PM +0200, Lothar Waßmann wrote:
> > > > This doesn't work at least because the pins that are used for PHY
> > > > strap options need to be reconfigured for their FEC functionality
> > > > after releasing the PHY reset. But even after adding the missing
> > > > reconfiguration the ethernet PHY does not work.
> > > > 
> > > Can you please test the branch below to see if ethernet PHY works?
> > > 
> > No. See bootlog below.
> > 
> Thanks for testing, Lothar.  But from the boot log below, the kernel
> did a non-DT boot rather than a boot from device tree.  More on this
>
I compiled the kernel with DT support, but just the TX28 board
selected. When selecting an additional i.MX28 board, the kernel
doesn't boot at all any more. Does this mean in order to get a kernel
with DT support one has to select at least two different platforms?
Is this behaviour intended?

> below.  But does that mean ethernet PHY does not work even on non-DT
> kernel right now?
> 
Seems so.

> > The following patch is required for the kernel to build:
> 
> Yes, Marek has reported that.  But I'm not so fond of fixing it right
> away like that, since mxs_defconfig has it enabled with board file
> support and does not expose the problem.
> 
> Instead, I would really like to remove those board files with equivalent
> device tree support, and build in mach-mxs.c and ocotp.c all the time.
> 
OK.

> This line tells that the kernel is doing a traditional non-DT boot.
> If the kernel boots from device tree, you should see the following line
> instead.
> 
> Machine: Freescale i.MX28 (Device Tree), model: Ka-Ro electronics TX28 module
> 
> I'm not sure if you have your bootloader passes dtb to kernel or use
> append-dtb approach.  In the later case, here are the brief
> instructions.
> 
> - Enable CONFIG_ARM_APPENDED_DTB and CONFIG_ARM_ATAG_DTB_COMPAT
> - Build kernel
> - make ARCH=arm imx28-tx28.dtb
> - cat arch/arm/boot/zImage arch/arm/boot/imx28-tx28.dtb > arch/arm/boot/zImage_dtb
> - Boot zImage_dtb like you boot zImage as usual
> 
I'm using the appended DTB approach, and have done exactly this except
for using uImage rather than zImage.


Lothar Waßmann
Lothar Waßmann - July 16, 2012, 7:03 a.m.
Hi,

Shawn Guo writes:
> On Sun, Jul 15, 2012 at 10:49:35PM +0800, Shawn Guo wrote:
> > below.  But does that mean ethernet PHY does not work even on non-DT
> > kernel right now?
> > 
> So I guess you need something like c46d291 (ARM: apx4devkit: fix FEC
> enabling PHY clock) for TX28 too.
> 
That's already in place.


Lothar Waßmann
Shawn Guo - July 18, 2012, 1:36 p.m.
On Mon, Jul 16, 2012 at 09:03:28AM +0200, Lothar Waßmann wrote:
> Hi,
> 
> Shawn Guo writes:
> > On Sun, Jul 15, 2012 at 10:49:35PM +0800, Shawn Guo wrote:
> > > below.  But does that mean ethernet PHY does not work even on non-DT
> > > kernel right now?
> > > 
> > So I guess you need something like c46d291 (ARM: apx4devkit: fix FEC
> > enabling PHY clock) for TX28 too.
> > 
> That's already in place.
> 
Are you using and talking about the branch I prepared for you?
I haven't seen it there.

Shawn
Shawn Guo - July 18, 2012, 1:39 p.m.
On Mon, Jul 16, 2012 at 09:00:24AM +0200, Lothar Waßmann wrote:
> > below.  But does that mean ethernet PHY does not work even on non-DT
> > kernel right now?
> > 
> Seems so.
> 
Have you got the chance to figure it out why it does not work on
non-DT kernel?

> > I'm not sure if you have your bootloader passes dtb to kernel or use
> > append-dtb approach.  In the later case, here are the brief
> > instructions.
> > 
> > - Enable CONFIG_ARM_APPENDED_DTB and CONFIG_ARM_ATAG_DTB_COMPAT
> > - Build kernel
> > - make ARCH=arm imx28-tx28.dtb
> > - cat arch/arm/boot/zImage arch/arm/boot/imx28-tx28.dtb > arch/arm/boot/zImage_dtb
> > - Boot zImage_dtb like you boot zImage as usual
> > 
> I'm using the appended DTB approach, and have done exactly this except
> for using uImage rather than zImage.
> 
So, got a chance to wrap the zImage_dtb into uImage and have the DT
kernel actually running?

Shawn
Lothar Waßmann - July 19, 2012, 6:13 a.m.
Hi,

Shawn Guo writes:
> On Mon, Jul 16, 2012 at 09:00:24AM +0200, Lothar Waßmann wrote:
> > > below.  But does that mean ethernet PHY does not work even on non-DT
> > > kernel right now?
> > > 
> > Seems so.
> > 
> Have you got the chance to figure it out why it does not work on
> non-DT kernel?
> 
No.

> > > I'm not sure if you have your bootloader passes dtb to kernel or use
> > > append-dtb approach.  In the later case, here are the brief
> > > instructions.
> > > 
> > > - Enable CONFIG_ARM_APPENDED_DTB and CONFIG_ARM_ATAG_DTB_COMPAT
> > > - Build kernel
> > > - make ARCH=arm imx28-tx28.dtb
> > > - cat arch/arm/boot/zImage arch/arm/boot/imx28-tx28.dtb > arch/arm/boot/zImage_dtb
> > > - Boot zImage_dtb like you boot zImage as usual
> > > 
> > I'm using the appended DTB approach, and have done exactly this except
> > for using uImage rather than zImage.
> > 
> So, got a chance to wrap the zImage_dtb into uImage and have the DT
> kernel actually running?
> 
Yes, that actually works:
--------
|Linux version 3.5.0-rc6-next-20120712-karo+ (lothar@ipc1) (gcc version 4.5.3 (GCC) ) #11 PREEMPT Mon Jul 16 09:08:40 CEST 2012
|CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
|CPU: VIVT data cache, VIVT instruction cache
|Machine: Freescale i.MX28 (Device Tree), model: Ka-Ro electronics TX28 module
|bootconsole [earlycon0] enabled
|Memory policy: ECC disabled, Data cache writeback
|On node 0 totalpages: 32768
|free_area_init_node: node 0, pgdat c0471ce8, node_mem_map c04ac000
|  Normal zone: 256 pages used for memmap
|  Normal zone: 0 pages reserved
|  Normal zone: 32512 pages, LIFO batch:7
|pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
|pcpu-alloc: [0] 0 
|Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
|Kernel command line: init=/linuxrc kmemleak=on tx28_base=stkv3 tx28_otg_mode=device mtdparts=gpmi-nand:128k@0x20000(env|),1m(u-boot),4m(linux),16m(rootfs),-(userfs) root=/dev/nfs nfsroot=192.168.1.225:/tftpboot/KARO/imx28-new,nolock ip=boo|tp mxsfb.mode=ETV570 debug earlyprintk panic=1 console=ttyAMA0,115200 ro
|PID hash table entries: 512 (order: -1, 2048 bytes)
|Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
|Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
|Memory: 128MB = 128MB total
|Memory: 125080k/125080k available, 5992k reserved, 0K highmem
|Virtual kernel memory layout:
|    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
|    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
|    vmalloc : 0xc8800000 - 0xff000000   ( 872 MB)
|    lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
|    modules : 0xbf000000 - 0xc0000000   (  16 MB)
|      .text : 0xc0008000 - 0xc041bd90   (4176 kB)
|      .init : 0xc041c000 - 0xc043e294   ( 137 kB)
|      .data : 0xc0440000 - 0xc0472700   ( 202 kB)
|       .bss : 0xc0472724 - 0xc04ab1e0   ( 227 kB)
|SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
|NR_IRQS:304
|sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms
|Console: colour dummy device 80x30
|Calibrating delay loop... 226.09 BogoMIPS (lpj=1130496)
|pid_max: default: 32768 minimum: 301
|Mount-cache hash table entries: 512
|CPU: Testing write buffer coherency: ok
|Setting up static identity map for 0x402fcd58 - 0x402fcdb0
|------------[ cut here ]------------
|WARNING: at /usr/local/src/arm/projects/imx28/linux-tx28-dt/kernel/workqueue.c:1217 worker_enter_idle+0x114/0x130()
|Modules linked in:
|[<c001381c>] (unwind_backtrace+0x0/0xe4) from [<c001b20c>] (warn_slowpath_common+0x4c/0x64)
|[<c001b20c>] (warn_slowpath_common+0x4c/0x64) from [<c001b23c>] (warn_slowpath_null+0x18/0x1c)
|[<c001b23c>] (warn_slowpath_null+0x18/0x1c) from [<c0030718>] (worker_enter_idle+0x114/0x130)
|[<c0030718>] (worker_enter_idle+0x114/0x130) from [<c003075c>] (start_worker+0x28/0x34)
|[<c003075c>] (start_worker+0x28/0x34) from [<c0422bc4>] (init_workqueues+0x144/0x2bc)
|[<c0422bc4>] (init_workqueues+0x144/0x2bc) from [<c00088e4>] (do_one_initcall+0x9c/0x174)
|[<c00088e4>] (do_one_initcall+0x9c/0x174) from [<c041c7b0>] (kernel_init+0x50/0x1b4)
|[<c041c7b0>] (kernel_init+0x50/0x1b4) from [<c000f464>] (kernel_thread_exit+0x0/0x8)
|---[ end trace f60ac847315b779a ]---
|devtmpfs: initialized
|pinctrl core: initialized pinctrl subsystem
|dummy: 
|NET: Registered protocol family 16
|DMA: preallocated 256 KiB pool for atomic coherent allocations
|gpiochip_add: registered GPIOs 0 to 31 on device: gpio.0
|gpiochip_add: registered GPIOs 32 to 63 on device: gpio.1
|gpiochip_add: registered GPIOs 64 to 95 on device: gpio.2
|gpiochip_add: registered GPIOs 96 to 127 on device: gpio.3
|gpiochip_add: registered GPIOs 128 to 159 on device: gpio.4
|Serial: AMBA PL011 UART driver
|80074000.serial: ttyAMA0 at MMIO 0x80074000 (irq = 47) is a PL011 rev2
|console [ttyAMA0] enabled, bootconsole disabled
|console [ttyAMA0] enabled, bootconsole disabled
|bio: create slab <bio-0> at 0
|mxs-dma 80004000.dma-apbh: initialized
|mxs-dma 80024000.dma-apbx: initialized
|Switching to clocksource mxs_timer
|NET: Registered protocol family 2
|IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
|TCP established hash table entries: 4096 (order: 3, 32768 bytes)
|TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
|TCP: Hash tables configured (established 4096 bind 4096)
|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
|RPC: Registered named UNIX socket transport module.
|RPC: Registered udp transport module.
|RPC: Registered tcp transport module.
|RPC: Registered tcp NFSv4.1 backchannel transport module.
|NetWinder Floating Point Emulator V0.97 (double precision)
|NFS: Registering the id_resolver key type
|Key type id_resolver registered
|jffs2: version 2.2. (NAND) (SUMMARY)  þþ 2001-2006 Red Hat, Inc.
|msgmni has been set to 244
|alg: No test for stdrng (krng)
|Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
|io scheduler noop registered
|io scheduler deadline registered
|io scheduler cfq registered (default)
|uart-pl011 80074000.serial: no DMA platform data
|8006c000.serial: ttyAPP1 at MMIO 0x8006c000 (irq = 113) is a 8006c000.serial
|mxs-auart 8006c000.serial: Found APPUART 3.1.0
|brd: module loaded
|loop: module loaded
|GPMI NAND driver registered. (IMX)
|of_get_named_gpio_flags: can't parse gpios property
|gpio_request: gpio--2 (phy-reset) status -22
|libphy: fec_enet_mii_bus: probed
|mousedev: PS/2 mouse device common for all mice
|rtc-ds1307 0-0068: SET TIME!
|rtc-ds1307 0-0068: rtc core: registered ds1339 as rtc0
|stmp3xxx-rtc 80056000.rtc: rtc core: registered 80056000.rtc as rtc1
|of_get_named_gpio_flags exited with status 0
|Registered led device: Heartbeat
|TCP: cubic registered
|NET: Registered protocol family 17
|Key type dns_resolver registered
|rtc-ds1307 0-0068: setting system clock to 2000-01-01 00:01:07 UTC (946684867)
|eth0: Freescale FEC PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=800f0000.etherne:00, irq=-1)
|libphy: 800f0000.etherne:00 - Link is Up - 100/Full
|Sending BOOTP requests . OK
|IP-Config: Got BOOTP answer from 192.168.100.1, my address is 192.168.100.73
|IP-Config: Complete:
|     device=eth0, addr=192.168.100.73, mask=255.255.254.0, gw=192.168.100.1
|     host=192.168.100.73, domain=ka-ro, nis-domain=(none)
|     bootserver=192.168.100.1, rootserver=192.168.1.225, rootpath=
|VFS: Mounted root (nfs filesystem) readonly on device 0:12.
|devtmpfs: mounted
|Freeing init memory: 136K
|Executing /sbin/init 
|INIT: version 2.88 booting
|Activating swap...done.
|Initializing /var... Done.
|Setting the system clock.
|Loading kernel modules...done.
|Activating lvm and md swap...done.
|Checking file systems...fsck from util-linux-ng 2.16
|done.
|Mounting local filesystems...done.
|Activating swapfile swap...done.
|Cleaning up temporary files....
|Cleaning up temporary files....
|Setting the system clock.
|ERROR: cannot update random seed file '/var/lib/urandom/random-seed'
|INIT: Entering runlevel: 2
|Starting internet superserver: inetd done.
|Configuring network interfaces: done.
|Starting telnetd...
|Setting sysfs variables....
|
|GNU/Linux 3.5.0-rc6-next-20120712-karo+ on triton1(armv5tejl) ttyAMA0:
--------

So you can have my
Acked-by: Lothar Waßmann <LW@KARO-electronics.de>
for the patch to convert tx28 to DT.
Thank you very much for your work!


Lothar Waßmann
Shawn Guo - July 19, 2012, 6:22 a.m.
On Thu, Jul 19, 2012 at 08:13:06AM +0200, Lothar Waßmann wrote:
> > Have you got the chance to figure it out why it does not work on
> > non-DT kernel?
> > 
> No.
> 
Does not matter then, since you are saying it works with DT, and we
can start replacing those board files with DT support.

> So you can have my
> Acked-by: Lothar Waßmann <LW@KARO-electronics.de>
> for the patch to convert tx28 to DT.
> 
Great.  Thanks.

Patch

--- a/arch/arm/mach-mxs/Kconfig
+++ b/arch/arm/mach-mxs/Kconfig
@@ -82,6 +82,7 @@  config MODULE_TX28
 	select MXS_HAVE_PLATFORM_MXS_MMC
 	select MXS_HAVE_PLATFORM_MXS_PWM
 	select MXS_HAVE_PLATFORM_RTC_STMP3XXX
+	select MXS_OCOTP
 
 config MODULE_M28
 	bool