Why do not you use deconfig from linux kernel tree. Modify only base address of CCSR (soc node) for child nodes of root in device tree. arch/powerpc/boot/dts/mpc8641_hpcn.dts.
Sri On Thu, Dec 26, 2013 at 3:48 AM, Ashish Khetan <curieux.khe...@gmail.com>wrote: > i tried to dig more inside mpic_alloc fails. the function > of_find_matching_node calls inside from mpic_alloc() should return the node > at which pic is connected but it returns NULL. but why? In device tree i am > using the following.. may be it will helpful. > /dts-v1/; > > / { > model = "MPC8641HPCN"; > compatible = "fsl,mpc8641hpcn"; > #address-cells = <0x1>; > #size-cells = <0x1>; > > aliases { > ethernet0 = "/soc8641@f8000000/ethernet@24000"; > ethernet1 = "/soc8641@f8000000/ethernet@25000"; > ethernet2 = "/soc8641@f8000000/ethernet@26000"; > ethernet3 = "/soc8641@f8000000/ethernet@27000"; > serial0 = "/soc8641@f8000000/serial@4500"; > }; > > cpus { > #address-cells = <0x1>; > #size-cells = <0x0>; > > PowerPC,8641@0 { > device_type = "cpu"; > reg = <0x0>; > d-cache-line-size = <0x20>; > i-cache-line-size = <0x20>; > d-cache-size = <0x8000>; > i-cache-size = <0x8000>; > timebase-frequency = <0x0>; > bus-frequency = <0x0>; > clock-frequency = <0x0>; > }; > }; > > memory { > device_type = "memory"; > reg = <0x0 0x20000000>; > }; > > localbus@f8005000 { > #address-cells = <0x2>; > #size-cells = <0x1>; > compatible = "fsl,mpc8641-localbus", "simple-bus"; > reg = <0xf8005000 0x1000>; > interrupts = <0x13 0x2>; > interrupt-parent = <0x1>; > ranges = <0x0 0x0 0xff000000 0x1000000>; > > flash@0,0 { > compatible = "cfi-flash"; > reg = <0x0 0x0 0x800000>; > bank-width = <0x2>; > device-width = <0x2>; > #address-cells = <0x1>; > #size-cells = <0x1>; > }; > }; > > soc8641@f8000000 { > #address-cells = <0x1>; > #size-cells = <0x1>; > device_type = "soc"; > compatible = "simple-bus"; > ranges = <0x0 0xf8000000 0x100000>; > bus-frequency = <0x0>; > > mcm-law@0 { > compatible = "fsl,mcm-law"; > reg = <0x0 0x1000>; > fsl,num-laws = <0xa>; > }; > > mcm@1000 { > compatible = "fsl,mpc8641-mcm", "fsl,mcm"; > reg = <0x1000 0x1000>; > interrupts = <0x11 0x2>; > interrupt-parent = <0x1>; > }; > > dma@21300 { > #address-cells = <0x1>; > #size-cells = <0x1>; > compatible = "fsl,mpc8641-dma", "fsl,eloplus-dma"; > reg = <0x21300 0x4>; > ranges = <0x0 0x21100 0x200>; > cell-index = <0x0>; > > dma-channel@0 { > compatible = "fsl,mpc8641-dma-channel", > "fsl,eloplus-dma-channel"; > reg = <0x0 0x80>; > cell-index = <0x0>; > interrupt-parent = <0x1>; > interrupts = <0x14 0x2>; > }; > > dma-channel@80 { > compatible = "fsl,mpc8641-dma-channel", > "fsl,eloplus-dma-channel"; > reg = <0x80 0x80>; > cell-index = <0x1>; > interrupt-parent = <0x1>; > interrupts = <0x15 0x2>; > }; > > dma-channel@100 { > compatible = "fsl,mpc8641-dma-channel", > "fsl,eloplus-dma-channel"; > reg = <0x100 0x80>; > cell-index = <0x2>; > interrupt-parent = <0x1>; > interrupts = <0x16 0x2>; > }; > > dma-channel@180 { > compatible = "fsl,mpc8641-dma-channel", > "fsl,eloplus-dma-channel"; > reg = <0x180 0x80>; > cell-index = <0x3>; > interrupt-parent = <0x1>; > interrupts = <0x17 0x2>; > }; > }; > > ethernet@24000 { > #address-cells = <0x1>; > #size-cells = <0x1>; > cell-index = <0x0>; > device_type = "network"; > model = "TSEC"; > compatible = "gianfar"; > reg = <0x24000 0x1000>; > ranges = <0x0 0x24000 0x1000>; > local-mac-address = [00 00 00 00 00 00]; > interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>; > interrupt-parent = <0x1>; > tbi-handle = <0x2>; > phy-handle = <0x3>; > phy-connection-type = "rgmii-id"; > > mdio@520 { > #address-cells = <0x1>; > #size-cells = <0x0>; > compatible = "fsl,gianfar-mdio"; > reg = <0x520 0x20>; > > ethernet-phy@0 { > interrupt-parent = <0x1>; > interrupts = <0xa 0x1>; > reg = <0x0>; > device_type = "ethernet-phy"; > linux,phandle = <0x3>; > }; > > ethernet-phy@1 { > interrupt-parent = <0x1>; > interrupts = <0xa 0x1>; > reg = <0x1>; > device_type = "ethernet-phy"; > linux,phandle = <0x5>; > }; > > ethernet-phy@2 { > interrupt-parent = <0x1>; > interrupts = <0xa 0x1>; > reg = <0x2>; > device_type = "ethernet-phy"; > linux,phandle = <0x7>; > }; > > ethernet-phy@3 { > interrupt-parent = <0x1>; > interrupts = <0xa 0x1>; > reg = <0x3>; > device_type = "ethernet-phy"; > linux,phandle = <0x9>; > }; > > tbi-phy@11 { > reg = <0x11>; > device_type = "tbi-phy"; > linux,phandle = <0x2>; > }; > }; > }; > > ethernet@25000 { > #address-cells = <0x1>; > #size-cells = <0x1>; > cell-index = <0x1>; > device_type = "network"; > model = "TSEC"; > compatible = "gianfar"; > reg = <0x25000 0x1000>; > ranges = <0x0 0x25000 0x1000>; > local-mac-address = [00 00 00 00 00 00]; > interrupts = <0x23 0x2 0x24 0x2 0x28 0x2>; > interrupt-parent = <0x1>; > tbi-handle = <0x4>; > phy-handle = <0x5>; > phy-connection-type = "rgmii-id"; > > mdio@520 { > #address-cells = <0x1>; > #size-cells = <0x0>; > compatible = "fsl,gianfar-tbi"; > reg = <0x520 0x20>; > > tbi-phy@11 { > reg = <0x11>; > device_type = "tbi-phy"; > linux,phandle = <0x4>; > }; > }; > }; > > ethernet@26000 { > #address-cells = <0x1>; > #size-cells = <0x1>; > cell-index = <0x2>; > device_type = "network"; > model = "TSEC"; > compatible = "gianfar"; > reg = <0x26000 0x1000>; > ranges = <0x0 0x26000 0x1000>; > local-mac-address = [00 00 00 00 00 00]; > interrupts = <0x1f 0x2 0x20 0x2 0x21 0x2>; > interrupt-parent = <0x1>; > tbi-handle = <0x6>; > phy-handle = <0x7>; > phy-connection-type = "rgmii-id"; > > mdio@520 { > #address-cells = <0x1>; > #size-cells = <0x0>; > compatible = "fsl,gianfar-tbi"; > reg = <0x520 0x20>; > > tbi-phy@11 { > reg = <0x11>; > device_type = "tbi-phy"; > linux,phandle = <0x6>; > }; > }; > }; > > ethernet@27000 { > #address-cells = <0x1>; > #size-cells = <0x1>; > cell-index = <0x3>; > device_type = "network"; > model = "TSEC"; > compatible = "gianfar"; > reg = <0x27000 0x1000>; > ranges = <0x0 0x27000 0x1000>; > local-mac-address = [00 00 00 00 00 00]; > interrupts = <0x25 0x2 0x26 0x2 0x27 0x2>; > interrupt-parent = <0x1>; > tbi-handle = <0x8>; > phy-handle = <0x9>; > phy-connection-type = "rgmii-id"; > > mdio@520 { > #address-cells = <0x1>; > #size-cells = <0x0>; > compatible = "fsl,gianfar-tbi"; > reg = <0x520 0x20>; > > tbi-phy@11 { > reg = <0x11>; > device_type = "tbi-phy"; > linux,phandle = <0x8>; > }; > }; > }; > > serial@4500 { > cell-index = <0x0>; > device_type = "serial"; > compatible = "ns16550"; > reg = <0x4500 0x100>; > clock-frequency = <0x0>; > interrupts = <0x2a 0x2>; > interrupt-parent = <0x1>; > }; > > pic@40000 { > interrupt-controller; > #address-cells = <0x0>; > #interrupt-cells = <0x2>; > reg = <0x40000 0x40000>; > compatible = "chrp,open-pic"; > device_type = "open-pic"; > linux,phandle = <0x1>; > phandle = <0x1>; > }; > > global-utilities@e0000 { > compatible = "fsl,mpc8641-guts"; > reg = <0xe0000 0x1000>; > fsl,has-rstcr; > }; > }; > > chosen { > linux,stdout-path = "/soc8641/serial0: serial@4500"; > }; > }; > > > > > On Thu, Dec 26, 2013 at 2:37 PM, wyang <w90p...@gmail.com> wrote: > >> On 12/26/2013 01:09 PM, Ashish Khetan wrote: >> >> Hi, >> I was trying to port Linux-3.12 for MPC8641 based custom designed board >> for evaluation purpose. I have been facing a kernel bug at mpic >> initialization. Is somebody have faced this kind of bugs or can give me any >> pointer for further steps how to solve kernel bugs will be really helpful. >> here is the snapshot for the bug that may be helpful to address the bug. >> Using MPC86xx HPCN machine description >> Total memory = 512MB; using 1024kB for hash table (at cff00000) >> Linux version 3.12.0 (ashish@ashish-VirtualBox) (gcc version 4.7.2 (GCC) >> ) #2 We >> d Dec 25 16:04:36 IST 2013 >> Found initrd at 0xde975000:0xdfec428a >> bootconsole [udbg0] enabled >> setup_arch: bootmem >> mpc86xx_hpcn_setup_arch() >> MPC86xx HPCN board from Freescale Semiconductor >> arch: exit >> Zone ranges: >> DMA [mem 0x00000000-0x1fffffff] >> Normal empty >> HighMem empty >> Movable zone start for each node >> Early memory node ranges >> node 0: [mem 0x00000000-0x1fffffff] >> Built 1 zonelists in Zone order, mobility grouping on. Total pages: >> 130048 >> Kernel command line: root=/dev/ram0 rw rootfs console=ttyS0,115200 >> PID hash table entries: 2048 (order: 1, 8192 bytes) >> Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) >> Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) >> Sorting __ex_table... >> Memory: 424980K/524288K available (4172K kernel code, 208K rwdata, 1304K >> rodata, >> 196K init, 149K bss, 99308K reserved, 0K highmem) >> Kernel virtual memory layout: >> * 0xfffcf000..0xfffff000 : fixmap >> * 0xff800000..0xffc00000 : highmem PTEs >> * 0xff7fe000..0xff800000 : early ioremap >> * 0xe1000000..0xff7fe000 : vmalloc & ioremap >> SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 >> NR_IRQS:512 nr_irqs:512 16 >> ------------[ cut here ]------------ >> kernel BUG at arch/powerpc/platforms/86xx/pic.c:42! >> >> >> It hints that mpic_alloc() fails. Maybe, you should spend some time >> investigating why it fails. :-) >> >> Thanks >> Wei >> >> Oops: Exception in kernel mode, sig: 5 [#1] >> MPC86xx HPCN >> Modules linked in: >> CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.0 #2 >> task: c05903e0 ti: c05b4000 task.ti: c05b4000 >> NIP: c0567438 LR: c0567430 CTR: c0567400 >> REGS: c05b5ee0 TRAP: 0700 Not tainted (3.12.0) >> MSR: 00021032 <ME,IR,DR,RI> CR: 24000042 XER: 20000000 >> >> GPR00: c0567430 c05b5f90 c05903e0 00000000 c04e4ff8 c051e588 0000008f >> 00000002 >> GPR08: c042789c 00000001 0000006f 00000000 22000048 bebffffd 11a7b4e5 >> 200c8000 >> GPR16: ffbeffff ffffffff 00000000 00000024 00000000 1fec56f8 1fec59a7 >> 00000000 >> GPR24: 00000000 1fff97e8 40000000 1ffcc6a0 c0bff080 c05c2490 c05c2628 >> c0585b60 >> NIP [c0567438] mpc86xx_init_irq+0x38/0x108 >> LR [c0567430] mpc86xx_init_irq+0x30/0x108 >> Call Trace: >> [c05b5f90] [c0567430] mpc86xx_init_irq+0x30/0x108 (unreliable) >> [c05b5fb0] [c0562784] init_IRQ+0x24/0x38 >> [c05b5fc0] [c055fde4] start_kernel+0x1bc/0x2ec >> [c05b5ff0] [00003444] 0x3444 >> Instruction dump: >> 3d00c04f 38800000 38a01002 38c00000 38e00100 39088f8c 38600000 90010024 >> bfa10014 4bffec35 7c690034 5529d97e <0f090000> 3fa0c04f 4bfff391 38600000 >> ---[ end trace 31fd0ba7d8756001 ]--- >> >> Kernel panic - not syncing: Attempted to kill the idle task! >> Rebooting in 180 seconds.. >> >> >> Thanks & Regards >> Ashish Khetan >> >> >> _______________________________________________ >> Linuxppc-dev mailing >> listLinuxppc-dev@lists.ozlabs.orghttps://lists.ozlabs.org/listinfo/linuxppc-dev >> >> >> > > _______________________________________________ > Kernelnewbies mailing list > kernelnewb...@kernelnewbies.org > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > -- Regards, Sri.
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev