i.MX7 clock support broken

A.S. Dong aisheng.dong at nxp.com
Wed Feb 8 08:47:06 PST 2017


Hi Sascha,

> -----Original Message-----
> From: Sascha Hauer [mailto:s.hauer at pengutronix.de]
> Sent: Tuesday, February 07, 2017 10:22 PM
> To: linux-arm-kernel at lists.infradead.org
> Cc: Shawn Guo; A.S. Dong; Fabio Estevam; kernel at pengutronix.de
> Subject: i.MX7 clock support broken
> 
> Hi All,
> 
> I recently adopted the i.MX7 clock tree from Linux to barebox and wondered
> why ethernet doesn't work.

I just reproduced the issue on MX7D SDB board with latest upstream kernel
That kernel NULL point crash during boot on
fec_enet_open->..->phy_attach_direct.

Not sure if the same as yours.
(Paste log at last)

Andy,
Can you help check it?

> I found out that the clock tree in Linux is
> quite different from what the reference manual describes and also quite
> different from the hardware I have on my desk. There are several clocks
> that only exist in the driver, but not in the actual hardware and also
> several clocks which are in hardware, but not in the driver.
> 
> These clocks exist in the driver only, but not in the hardware:
> 

Please refer to secion 5.2.5 in RM.
They're LPCG gates.

But I did notice some of them seem not find in RM.
e.g. IMX7D_ARM_A7_ROOT_CLK, IMX7D_ARM_M0_ROOT_CLK, IMX7D_SPDIF_ROOT_CLK ...

It might be true that not all listed in RM as I see a Note
" Not all CCGRs are mapped " right upon Table 5-19.

I will double check with our IC guys tomorrow if the RM missed something.

> clks[IMX7D_ARM_A7_ROOT_CLK] = imx_clk_gate4("arm_a7_root_clk",
> "arm_a7_div", base + 0x4000, 0); clks[IMX7D_ARM_M4_ROOT_CLK] =
> imx_clk_gate4("arm_m4_root_clk", "arm_m4_div", base + 0x4010, 0);
> clks[IMX7D_ARM_M0_ROOT_CLK] = imx_clk_gate4("arm_m0_root_clk",
> "arm_m0_div", base + 0x4020, 0); clks[IMX7D_USB_HSIC_ROOT_CLK] =
> imx_clk_gate4("usb_hsic_root_clk", "usb_hsic_post_div", base + 0x4420, 0);
> clks[IMX7D_PCIE_PHY_ROOT_CLK] = imx_clk_gate4("pcie_phy_root_clk",
> "pcie_phy_post_div", base + 0x4600, 0); clks[IMX7D_SPDIF_ROOT_CLK] =
> imx_clk_gate4("spdif_root_clk", "spdif_post_div", base + 0x44d0, 0);
> clks[IMX7D_ENET1_REF_ROOT_CLK] = imx_clk_gate4("enet1_ref_root_clk",
> "enet1_ref_post_div", base + 0x44e0, 0); clks[IMX7D_ENET1_TIME_ROOT_CLK] =
> imx_clk_gate4("enet1_time_root_clk", "enet1_time_post_div", base + 0x44f0,
> 0); clks[IMX7D_ENET2_REF_ROOT_CLK] = imx_clk_gate4("enet2_ref_root_clk",
> "enet2_ref_post_div", base + 0x4500, 0); clks[IMX7D_ENET2_TIME_ROOT_CLK] =
> imx_clk_gate4("enet2_time_root_clk", "enet2_time_post_div", base + 0x4510,
> 0); clks[IMX7D_ENET_PHY_REF_ROOT_CLK] =
> imx_clk_gate4("enet_phy_ref_root_clk", "enet_phy_ref_post_div", base +
> 0x4520, 0); clks[IMX7D_AUDIO_MCLK_ROOT_CLK] =
> imx_clk_gate4("audio_mclk_root_clk", "audio_mclk_post_div", base + 0x4790,
> 0); clks[IMX7D_WRCLK_ROOT_CLK] = imx_clk_gate4("wrclk_root_clk",
> "wrclk_post_div", base + 0x47a0, 0); clks[IMX7D_ADC_ROOT_CLK] =
> imx_clk_gate4("adc_root_clk", "ipg_root_clk", base + 0x4200, 0);
> 
> And these clocks are described in the reference manual, but not handled in
> the driver:
> 

Yes, some of they are missed.

> CCM_CCGR7 sim_m 0x4070
> CCM_CCGR8 sim_s 0x4080
> CCM_CCGR9 sim_wakeup 0x4090
> CCM_CCGR10 ipmux1 0x40A0
> CCM_CCGR11 ipmux2 0x40B0
> CCM_CCGR12 ipmux3 0x40C0
> CCM_CCGR16 rom 0x4100
> CCM_CCGR33 anatop 0x4210
> CCM_CCGR34 sctr 0x4220
> CCM_CCGR35 ocotp 0x4230
> CCM_CCGR36 caam 0x4240
> CCM_CCGR37 snvs 0x4250
> CCM_CCGR38 rdc 0x4260
> CCM_CCGR39 mu 0x4270
> CCM_CCGR40 hs 0x4280
> CCM_CCGR41 dvfs 0x4290
> CCM_CCGR42 qos 0x42A0
> CCM_CCGR43 qos_dispmix 0x42B0
> CCM_CCGR44 qos_megamix 0x42C0
> CCM_CCGR45 csu 0x42D0
> CCM_CCGR46 dbgmon 0x42E0
> CCM_CCGR47 debug 0x42F0
> CCM_CCGR49 sec_debug 0x4310
> CCM_CCGR64 sema1 0x4400
> CCM_CCGR65 sema2 0x4410
> CCM_CCGR68 perfmon1 0x4440
> CCM_CCGR69 perfmon2 0x4450
> CCM_CCGR76 pxp 0x44C0
> CCM_CCGR104 usb_ctrl 0x4680
> CCM_CCGR105 usb_hsic 0x4690
> CCM_CCGR106 usb_phy1 0x46A0
> CCM_CCGR107 usb_phy2 0x46B0
> CCM_CCGR112 enet1 0x4700
> CCM_CCGR113 enet2 0x4710
> CCM_CCGR160 gpio1 0x4A00
> CCM_CCGR161 gpio2 0x4A10
> CCM_CCGR162 gpio3 0x4A20
> CCM_CCGR163 gpio4 0x4A30
> CCM_CCGR164 gpio5 0x4A40
> CCM_CCGR165 gpio6 0x4A50
> CCM_CCGR166 gpio7 0x4A60
> CCM_CCGR168 iomux 0x4A80
> CCM_CCGR169 iomux_lpsr 0x4A90
> CCM_CCGR170 kpp 0x4AA0
> 
> It seems most stuff works in the Kernel when the clocks are left enabled
> in the bootloader, but for example the real ethernet clocks are never
> handled in the kernel.
> 
> Also I stumbled upon the gate at offset 0x4130. The same gate is
> registered as 5 different gates in the kernel without being handled as a
> shared gate:
> 
> clks[IMX7D_NAND_USDHC_BUS_ROOT_CLK] = imx_clk_gate4("nand_usdhc_root_clk",
> "nand_usdhc_post_div", base + 0x4130, 0); clks[IMX7D_DRAM_ROOT_CLK] =
> imx_clk_gate4("dram_root_clk", "dram_post_div", base + 0x4130, 0);
> clks[IMX7D_DRAM_PHYM_ROOT_CLK] = imx_clk_gate4("dram_phym_root_clk",
> "dram_phym_cg", base + 0x4130, 0); clks[IMX7D_DRAM_PHYM_ALT_ROOT_CLK] =
> imx_clk_gate4("dram_phym_alt_root_clk", "dram_phym_alt_post_div", base +
> 0x4130, 0); clks[IMX7D_DRAM_ALT_ROOT_CLK] =
> imx_clk_gate4("dram_alt_root_clk", "dram_alt_post_div", base + 0x4130, 0);
> 

Thanks for report.
Your concern seems reasonable.
Will double check it then.

> I don't have a patch for this, just hope that somebody @NXP has a better
> clue what's going on and maybe there already is a fix somewhere floating
> around.
> 

Overally the current imx7d clk driver in upstream seems intend to be
an initial version and may miss many local fix patches.

You can also refer to:
http://git.freescale.com/git/cgit.cgi/imx/linux-imx.git/?h=imx_4.1.15_2.0.0_ga

It might help if there's local fixes.

> Sascha
> 
> --
> Pengutronix e.K.                           |                             |
> Industrial Linux Solutions                 | http://www.pengutronix.de/  |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

Kernel Crash Log as follows:
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.10.0-rc7-00065-g926af627 (b29396 at b29396-OptiPlex-7040) (gcc version 4.9.1 (GCC) ) #1106 SMP Thu Feb 9 14:44:54 CST 2017
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt:Machine model: Freescale i.MX7 SabreSD Board
[    0.000000] cma: Reserved 64 MiB at 0xbc000000
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] percpu: Embedded 14 pages/cpu @ef7c4000 s26816 r8192 d22336 u57344
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260608
[    0.000000] Kernel command line: console=ttymxc0,115200 root=/dev/nfs ip=dhcp nfsroot=10.192.242.182:/data/rootfs_home/b29396/L4.1.X-2.0.0-RC4-mx6ul7d,v3,tcp printk.time=1 trace_event=clk
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 951748K/1048576K available (9216K kernel code, 476K rwdata, 2868K rodata, 1024K init, 8236K bss, 31292K reserved, 65536K cma-reserved, 196608K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0a00000   (10208 kB)
[    0.000000]       .init : 0xc0d00000 - 0xc0e00000   (1024 kB)
[    0.000000]       .data : 0xc0e00000 - 0xc0e77380   ( 477 kB)
[    0.000000]        .bss : 0xc0e79000 - 0xc16843c4   (8237 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Running RCU self tests
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  RCU lockdep checking is enabled.
[    0.000000]  Build-time adjustment of leaf fanout to 32.
[    0.000000]  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=2
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] arm_arch_timer: Architected cp15 timer(s) running at 8.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 440795202120 ns
[    0.000008] sched_clock: 56 bits at 8MHz, resolution 125ns, wraps every 2199023255500ns
[    0.000024] Switching to timer-based delay loop, resolution 125ns
[    0.000407] Switching to timer-based delay loop, resolution 41ns
[    0.000428] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000446] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.001792] Console: colour dummy device 80x30
[    0.001823] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.001833] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.001842] ... MAX_LOCK_DEPTH:          48
[    0.001851] ... MAX_LOCKDEP_KEYS:        8191
[    0.001859] ... CLASSHASH_SIZE:          4096
[    0.001868] ... MAX_LOCKDEP_ENTRIES:     32768
[    0.001876] ... MAX_LOCKDEP_CHAINS:      65536
[    0.001885] ... CHAINHASH_SIZE:          32768
[    0.001894]  memory used by lock dependency info: 5167 kB
[    0.001902]  per task-struct memory footprint: 1536 bytes
[    0.001941] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.001961] pid_max: default: 32768 minimum: 301
[    0.002241] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.002260] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.004370] CPU: Testing write buffer coherency: ok
[    0.005229] CPU0: update cpu_capacity 1024
[    0.005246] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.006103] Setting up static identity map for 0x80100000 - 0x80100070
[    0.008205] smp: Bringing up secondary CPUs ...
[    0.010128] smp: Brought up 1 node, 1 CPU
[    0.010144] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[    0.010154] CPU: All CPU(s) started in SVC mode.
[    0.012158] devtmpfs: initialized
[    0.024554] OF: Duplicate name in lcdif at 30730000, renamed to "display#1"
[    0.035359] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.036252] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.039136] pinctrl core: initialized pinctrl subsystem
[    0.042908] NET: Registered protocol family 16
[    0.045638] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.049853] cpuidle: using governor menu
[    0.050813] No ATAGs?
[    0.050989] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.051008] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.061802] imx7d-pinctrl 302c0000.iomuxc-lpsr: no groups defined in /soc/aips-bus at 30000000/iomuxc-lpsr at 302c0000
[    0.062123] imx7d-pinctrl 302c0000.iomuxc-lpsr: initialized IMX pinctrl driver
[    0.064389] imx7d-pinctrl 30330000.iomuxc: initialized IMX pinctrl driver
[    0.066365] vdd1p0d: Bringing 0uV into 800000-800000uV
[    0.161012] vgaarb: loaded
[    0.161950] SCSI subsystem initialized
[    0.163192] usbcore: registered new interface driver usbfs
[    0.163367] usbcore: registered new interface driver hub
[    0.163633] usbcore: registered new device driver usb
[    0.164069] 30800000.aips-bus:usbphynop1 supply vcc not found, using dummy regulator
[    0.164552] 30800000.aips-bus:usbphynop3 supply vcc not found, using dummy regulator
[    0.164999] 30800000.aips-bus:usbphynop2 supply vcc not found, using dummy regulator
[    0.167606] i2c i2c-0: IMX I2C adapter registered
[    0.167668] i2c i2c-0: can't use DMA, using PIO instead.
[    0.169245] i2c i2c-1: IMX I2C adapter registered
[    0.169274] i2c i2c-1: can't use DMA, using PIO instead.
[    0.170155] i2c i2c-2: IMX I2C adapter registered
[    0.170181] i2c i2c-2: can't use DMA, using PIO instead.
[    0.171475] i2c i2c-3: IMX I2C adapter registered
[    0.171503] i2c i2c-3: can't use DMA, using PIO instead.
[    0.171767] Linux video capture interface: v2.00
[    0.171998] pps_core: LinuxPPS API ver. 1 registered
[    0.172010] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti at linux.it>
[    0.172060] PTP clock support registered
[    0.172933] Advanced Linux Sound Architecture Driver Initialized.
[    0.175522] Bluetooth: Core ver 2.22
[    0.175616] NET: Registered protocol family 31
[    0.175628] Bluetooth: HCI device and connection manager initialized
[    0.175686] Bluetooth: HCI socket layer initialized
[    0.175715] Bluetooth: L2CAP socket layer initialized
[    0.175842] Bluetooth: SCO socket layer initialized
[    0.178541] clocksource: Switched to clocksource arch_sys_counter
[    0.179127] VFS: Disk quotas dquot_6.6.0
[    0.179258] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.207626] NET: Registered protocol family 2
[    0.209530] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[    0.209708] TCP bind hash table entries: 8192 (order: 6, 294912 bytes)
[    0.213338] TCP: Hash tables configured (established 8192 bind 8192)
[    0.213552] UDP hash table entries: 512 (order: 3, 40960 bytes)
[    0.214057] UDP-Lite hash table entries: 512 (order: 3, 40960 bytes)
[    0.215330] NET: Registered protocol family 1
[    0.216653] RPC: Registered named UNIX socket transport module.
[    0.216671] RPC: Registered udp transport module.
[    0.216682] RPC: Registered tcp transport module.
[    0.216693] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.221439] futex hash table entries: 512 (order: 3, 32768 bytes)
[    0.223370] workingset: timestamp_bits=30 max_order=18 bucket_order=0
[    0.247614] NFS: Registering the id_resolver key type
[    0.247812] Key type id_resolver registered
[    0.247827] Key type id_legacy registered
[    0.247952] jffs2: version 2.2. (NAND) c 2001-2006 Red Hat, Inc.
[    0.249881] fuse init (API version 7.26)
[    0.261344] bounce: pool size: 64 pages
[    0.261432] io scheduler noop registered
[    0.261446] io scheduler deadline registered
[    0.261884] io scheduler cfq registered (default)
[    0.267847] 30730000.lcdif supply lcd not found, using dummy regulator
[    0.276818] Console: switching to colour frame buffer device 60x34
[    0.281688] mxsfb 30730000.lcdif: initialized
[    0.284648] imx-sdma 30bd0000.sdma: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2
[    0.284677] imx-sdma 30bd0000.sdma: external firmware not found, using ROM firmware
[    0.295696] pfuze100-regulator 0-0008: Full layer: 1, Metal layer: 1
[    0.296512] pfuze100-regulator 0-0008: FAB: 0, FIN: 0
[    0.296528] pfuze100-regulator 0-0008: pfuze3000 found.
[    0.322500] 30860000.serial: ttymxc0 at MMIO 0x30860000 (irq = 48, base_baud = 15000000) is a IMX
[    1.157051] console [ttymxc0] enabled
[    1.163408] [drm] Initialized
[    1.203254] brd: module loaded
[    1.225488] loop: module loaded
[    1.234534] spi_imx 30840000.ecspi: dma setup error -19, use pio
[    1.242842] spi_imx 30840000.ecspi: probed
[    1.248271] libphy: Fixed MDIO Bus: probed
[    1.253553] CAN device driver interface
[    1.261039] 30be0000.ethernet supply phy not found, using dummy regulator
[    1.269705] pps pps0: new PPS source ptp0
[    1.275905] libphy: fec_enet_mii_bus: probed
[    1.286848] fec 30be0000.ethernet eth0: registered PHC device 0
[    1.295568] 30bf0000.ethernet supply phy not found, using dummy regulator
[    1.303732] pps pps1: new PPS source ptp1
[    1.308667] fec 30bf0000.ethernet (unnamed net_device) (uninitialized): Invalid MAC address: 00:00:00:00:00:00
[    1.318728] fec 30bf0000.ethernet (unnamed net_device) (uninitialized): Using random MAC address: 4a:b0:bf:d1:ea:95
[    1.357434] libphy: fec_enet_mii_bus: probed
[    1.364546] fec 30bf0000.ethernet eth1: registered PHC device 1
[    1.372174] usbcore: registered new interface driver asix
[    1.377707] usbcore: registered new interface driver ax88179_178a
[    1.384040] usbcore: registered new interface driver cdc_ether
[    1.390092] usbcore: registered new interface driver net1080
[    1.395871] usbcore: registered new interface driver cdc_subset
[    1.402009] usbcore: registered new interface driver zaurus
[    1.407773] usbcore: registered new interface driver cdc_ncm
[    1.413470] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.420028] ehci-pci: EHCI PCI platform driver
[    1.424599] ehci-mxc: Freescale On-Chip EHCI Host driver
[    1.430617] usbcore: registered new interface driver usb-storage
[    1.450973] ci_hdrc ci_hdrc.1: EHCI Host Controller
[    1.456066] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
[    1.488565] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
[    1.497911] hub 1-0:1.0: USB hub found
[    1.502000] hub 1-0:1.0: 1 port detected
[    1.510167] mousedev: PS/2 mouse device common for all mice
[    1.517757] input: 30370000.snvs:snvs-powerkey as /devices/platform/soc/30000000.aips-bus/30370000.snvs/30370000.snvs:snvs-powerkey/input/input0
[    1.532589] spi2.0 supply vcc not found, using dummy regulator
[    1.540513] ads7846 spi2.0: touchscreen, irq 125
[    1.547256] input: ADS7846 Touchscreen as /devices/platform/soc/30800000.aips-bus/30840000.ecspi/spi_master/spi2/spi2.0/input/input1
[    1.564931] snvs_rtc 30370000.snvs:snvs-rtc-lp: rtc core: registered 30370000.snvs:snvs- as rtc0
[    1.574029] i2c /dev entries driver
[    1.580631] IR NEC protocol handler initialized
[    1.585179] IR RC5(x/sz) protocol handler initialized
[    1.590283] IR RC6 protocol handler initialized
[    1.594824] IR JVC protocol handler initialized
[    1.599389] IR Sony protocol handler initialized
[    1.604017] IR SANYO protocol handler initialized
[    1.610600] IR Sharp protocol handler initialized
[    1.615322] IR MCE Keyboard/mouse protocol handler initialized
[    1.621201] IR XMP protocol handler initialized
[    1.631500] imx2-wdt 30280000.wdog: timeout 60 sec (nowayout=0)
[    1.637696] Bluetooth: HCI UART driver ver 2.3
[    1.642202] Bluetooth: HCI UART protocol H4 registered
[    1.647348] Bluetooth: HCI UART protocol LL registered
[    1.653393] sdhci: Secure Digital Host Controller Interface driver
[    1.659611] sdhci: Copyright(c) Pierre Ossman
[    1.663976] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.670937] sdhci-esdhc-imx 30b40000.usdhc: could not get ultra high speed state, work on normal mode
[    1.680273] sdhci-esdhc-imx 30b40000.usdhc: Got CD GPIO
[    1.685545] sdhci-esdhc-imx 30b40000.usdhc: Got WP GPIO
[    1.758947] mmc0: SDHCI controller on 30b40000.usdhc [30b40000.usdhc] using ADMA
[    1.838569] mmc1: SDHCI controller on 30b60000.usdhc [30b60000.usdhc] using ADMA
[    1.850293] mmc0: new high speed SDHC card at address e624
[    1.860698] usbcore: registered new interface driver usbhid
[    1.866286] usbhid: USB HID core driver
[    1.877648] mmcblk0: mmc0:e624 SP32G 29.7 GiB
[    1.913790]  mmcblk0: p1 p2 p3
[    1.939158] NET: Registered protocol family 10
[    1.946884] Segment Routing with IPv6
[    1.951100] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    1.959268] NET: Registered protocol family 17
[    1.963761] can: controller area network core (rev 20120528 abi 9)
[    1.970659] NET: Registered protocol family 29
[    1.975123] can: raw protocol (rev 20120528)
[    1.979640] can: broadcast manager protocol (rev 20161123 t)
[    1.985322] random: fast init done
[    1.988865] can: netlink gateway (rev 20130117) max_hops=1
[    1.996238] Key type dns_resolver registered
[    2.000811] Registering SWP/SWPB emulation handler
[    2.044154] mmc1: Tuning failed, falling back to fixed sampling clock
[    2.280559] mmc1: new HS400 MMC card at address 0001
[    2.288546] snvs_rtc 30370000.snvs:snvs-rtc-lp: setting system clock to 2016-09-17 01:55:14 UTC (1474077314)
[    2.299217] mmcblk1: mmc1:0001 R1J55A 7.28 GiB
[    2.304478] mmcblk1boot0: mmc1:0001 R1J55A partition 1 2.00 MiB
[    2.317943] Unable to handle kernel NULL pointer dereference at virtual address 00000008
[    2.326160] pgd = c0004000
[    2.328925] [00000008] *pgd=00000000
[    2.332523] Internal error: Oops: 5 [#1] SMP ARM
[    2.337148] Modules linked in:
[    2.340219] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.10.0-rc7-00065-g926af627 #1106
[    2.348140] Hardware name: Freescale i.MX7 Dual (Device Tree)
[    2.353893] task: ef078000 task.stack: ef06a000
[    2.358439] PC is at phy_attach_direct+0x48/0x1a0
[    2.363152] LR is at phy_connect_direct+0x1c/0x54
[    2.367865] pc : [<c05dc10c>]    lr : [<c05dc34c>]    psr: 60000013
[    2.367865] sp : ef06bcd8  ip : ef06bd08  fp : ef06bd04
[    2.379349] r10: 00000000  r9 : 00000007  r8 : ee92d000
[    2.384581] r7 : 00000000  r6 : ef047000  r5 : c05e4ef8  r4 : ee92d400
[    2.391115] r3 : 00000000  r2 : c0e42694  r1 : ef154810  r0 : 00000000
[    2.397650] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[    2.404792] Control: 10c5387d  Table: 8000406a  DAC: 00000051
[    2.410544] Process swapper/0 (pid: 1, stack limit = 0xef06a210)
[    2.416557] Stack: (0xef06bcd8 to 0xef06c000)
[    2.420923] bcc0:                                                       00000007 ee92d400
[    2.429111] bce0: c05e4ef8 c05e4ef8 00000000 ef038818 00000200 ef038000 ef06bd24 ef06bd08
[    2.437300] bd00: c05dc34c c05dc0d0 00000007 ee92d400 c05e4ef8 ef047000 ef06bd44 ef06bd28
[    2.445489] bd20: c0703764 c05dc33c f0e9bfe0 ef047000 00000000 c164bc1c ef06bdac ef06bd48
[    2.453678] bd40: c05e6be8 c0703730 00000007 c07828dc 00000003 ef047634 0000000d ef047000
[    2.461867] bd60: 00001002 00000000 ef06bd8c ef06bd78 c0149490 c014930c 00000000 c0171868
[    2.470055] bd80: ef06bdac ef047000 00000000 c0a67700 ef047030 00000000 c0d6bb54 c0d6bb54
[    2.478244] bda0: ef06bdd4 ef06bdb0 c0779550 c05e694c ef06bdd4 ef047000 ef047000 00000001
[    2.486433] bdc0: 00001003 00001002 ef06bdfc ef06bdd8 c0779808 c07794ac 00000000 ef047000
[    2.494621] bde0: ef047138 00001002 c0d6bb64 00000000 ef06be24 ef06be00 c07798ec c0779784
[    2.502810] be00: 00000000 ef047000 00000001 00001002 c0d6bb64 c0d6bb54 ef06bedc ef06be28
[    2.510998] be20: c0d54e5c c07798d8 00000000 00000000 00000000 00000000 ef078000 c0e6fdd0
[    2.519186] be40: ef06be9c ef06be50 c0173c68 00000002 c0e6d240 c0171dc0 00000001 00000000
[    2.527375] be60: 00000000 c07dded4 c07ddf20 60000013 00000000 c0e6fdc0 00000000 00000000
[    2.535564] be80: c0e79000 c0d5f854 60000013 c0e6fdc0 ef06beb4 ef06bea0 c0983ce0 c017694c
[    2.543753] bea0: c0e09cf0 c0e6fdc0 ef06becc ef06beb8 c07ddf20 00000007 c0d54c9c 00000000
[    2.551941] bec0: c0e79000 c0d5f854 c0d5f858 c0d00608 ef06bf4c ef06bee0 c010194c c0d54ca8
[    2.560130] bee0: c0d00624 c04056e0 00000000 c0cccac4 c0a2214c 000000ed ef06bf4c ef06bf08
[    2.568318] bf00: c01472b8 c0d00614 00000007 00000007 00000000 c0ccb840 c0bcda7c 00000000
[    2.576507] bf20: 600000d3 00000007 c0e79000 00000007 c0e79000 c0d72d50 c0d5f854 c0d5f858
[    2.584695] bf40: ef06bf94 ef06bf50 c0d00e48 c0101914 00000007 00000007 00000000 c0d00608
[    2.592884] bf60: 7d7f9eeb 000000ed c097adfc 00000000 c097adfc 00000000 00000000 00000000
[    2.601072] bf80: 00000000 00000000 ef06bfac ef06bf98 c097ae0c c0d00d24 ef06a000 00000000
[    2.609260] bfa0: 00000000 ef06bfb0 c0107f30 c097ae08 00000000 00000000 00000000 00000000
[    2.617448] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    2.625636] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 7bffaa1f ffdbaebe
[    2.633816] Backtrace:
[    2.636282] [<c05dc0c4>] (phy_attach_direct) from [<c05dc34c>] (phy_connect_direct+0x1c/0x54)
[    2.644819]  r10:ef038000 r9:00000200 r8:ef038818 r7:00000000 r6:c05e4ef8 r5:c05e4ef8
[    2.652656]  r4:ee92d400 r3:00000007
[    2.656246] [<c05dc330>] (phy_connect_direct) from [<c0703764>] (of_phy_connect+0x40/0x64)
[    2.664519]  r6:ef047000 r5:c05e4ef8 r4:ee92d400 r3:00000007
[    2.670193] [<c0703724>] (of_phy_connect) from [<c05e6be8>] (fec_enet_open+0x2a8/0x49c)
[    2.678207]  r7:c164bc1c r6:00000000 r5:ef047000 r4:f0e9bfe0
[    2.683882] [<c05e6940>] (fec_enet_open) from [<c0779550>] (__dev_open+0xb0/0x118)
[    2.691464]  r10:c0d6bb54 r9:c0d6bb54 r8:00000000 r7:ef047030 r6:c0a67700 r5:00000000
[    2.699298]  r4:ef047000
[    2.701844] [<c07794a0>] (__dev_open) from [<c0779808>] (__dev_change_flags+0x90/0x154)
[    2.709858]  r7:00001002 r6:00001003 r5:00000001 r4:ef047000
[    2.715529] [<c0779778>] (__dev_change_flags) from [<c07798ec>] (dev_change_flags+0x20/0x50)
[    2.723979]  r8:00000000 r7:c0d6bb64 r6:00001002 r5:ef047138 r4:ef047000 r3:00000000
[    2.731737] [<c07798cc>] (dev_change_flags) from [<c0d54e5c>] (ip_auto_config+0x1c0/0x1038)
[    2.740100]  r8:c0d6bb54 r7:c0d6bb64 r6:00001002 r5:00000001 r4:ef047000 r3:00000000
[    2.747857] [<c0d54c9c>] (ip_auto_config) from [<c010194c>] (do_one_initcall+0x44/0x17c)
[    2.755960]  r10:c0d00608 r9:c0d5f858 r8:c0d5f854 r7:c0e79000 r6:00000000 r5:c0d54c9c
[    2.763795]  r4:00000007
[    2.766344] [<c0101908>] (do_one_initcall) from [<c0d00e48>] (kernel_init_freeable+0x130/0x1f8)
[    2.775053]  r9:c0d5f858 r8:c0d5f854 r6:c0d72d50 r5:c0e79000 r4:00000007
[    2.781769] [<c0d00d18>] (kernel_init_freeable) from [<c097ae0c>] (kernel_init+0x10/0x120)
[    2.790044]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c097adfc
[    2.797879]  r4:00000000
[    2.800428] [<c097adfc>] (kernel_init) from [<c0107f30>] (ret_from_fork+0x14/0x24)
[    2.808005]  r4:00000000 r3:ef06a000
[    2.811592] Code: ebef38e7 e3500000 0a00004c e594307c (e5930008)
[    2.817775] ---[ end trace dc93a7888190508a ]---
[    2.822872] mmcblk1boot1: mmc1:0001 R1J55A partition 2 2.00 MiB
[    2.829281] mmcblk1rpmb: mmc1:0001 R1J55A partition 3 128 KiB
[    2.839166] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    2.839166]
[    2.848329] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

Regards
Dong Aisheng



More information about the linux-arm-kernel mailing list