From: Seungwon Jeon <tgih.jun@samsung.com>
To: 'randy' <lxr1234@hotmail.com>, 'Jaehoon Chung' <jh80.chung@samsung.com>
Cc: 'Tomasz Figa' <tomasz.figa@gmail.com>,
linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org,
t.figa@samsung.com, olof@lixom.net, kgene.kim@samsung.com
Subject: RE: linux 3.13-rc1 make dw_mmc-exynos more worse
Date: Mon, 02 Dec 2013 21:58:05 +0900 [thread overview]
Message-ID: <001c01ceef5e$244fd8e0$6cef8aa0$%jun@samsung.com> (raw)
In-Reply-To: <BLU0-SMTP572E6FBC0A6572AEB71304ADEC0@phx.gbl>
On Tue, November 26, 2013, Randy wrote:
> Thanks Jaehoon,
> I have noticed that before it, but in dw_mmc driver, I won't meet this
> problem.
> As you can seen in dts, I have defined a clock source.
> Or the clock source what I choose is not correct?
> I don't know how to debug this, I don't know much about it.
> Actually, I don't really understand the contain in chapter 7 of datasheet.
> I am sorry for that.
> Would you like to tell me some more about it?
Can you add the followings for you test?
arch/arm/boot/dts/exynos4412.dtsi
+ clocks = <&clock 301>, <&clock 149>;
+ clock-name = "biu", "ciu";
Thanks,
Seungwon Jeon
>
> 于 2013年11月26日 12:32, Jaehoon Chung 写道:
> > Hi, Randy,
> >
> > It seems a problem that controller didn't find the clock source.
> > Also you can see the below message. Did you check the clock
> > source?
> >
> >> [ 1.125000] s3c-sdhci 12550000.sdhci: failed to get io clock
> >
> > Actually, need to prevent the "null pointer dereference" for clock
> > in dw-mmc.c
> >
> > And If dw-mmc controller can be used, recommend to use it. dw-mmc
> > can use DDR mode, but sdhci can't.
> >
> > Best Regards, Jaehoon Chung
> >
> > On 11/26/2013 10:47 AM, randy wrote: 于 2013年11月26日 08:41, Tomasz
> > Figa 写道:
> >>>> On Sunday 24 of November 2013 22:18:46 Olof Johansson wrote:
> >>>>> Hi,
> >>>>>
> >>>>> On Sun, Nov 24, 2013 at 4:07 AM, randy
> >>>>> <lxr1234@hotmail.com> wrote:
> >>>>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
> >>>>>>
> >>>>>> After pull the merge of 3.13-rc1, the dw_mmc-exynos will
> >>>>>> make the boot stock.In 3.13, it is just stocked udev in
> >>>>>> 3.13 and makse udev timeout but kernel report the emmc
> >>>>>> device is found.
> >>>>>>
> >>>>>> And in the
> >>>>>> Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
> >>>>>> I saw that it is need to define which gpio ports that a
> >>>>>> emmc slot use, but when I watched others dts, they use
> >>>>>> pinctrl, which is correct? Here is the log and dts
> >>>>>
> >>>>> [..]
> >>>>>
> >>>>>> =======================log begin
> >>>>>> =============================
> >>>>> [..]
> >>>>>> [ 0.000000] CPU EXYNOS4412 (id 0xe4412011)
> >>>>>
> >>>>> [..]
> >>>>>
> >>>>>> [ 1.095000] mmc0: no vmmc regulator found [ 1.130000]
> >>>>>> mmc0: SDHCI controller on samsung-hsmmc [12530000.sdhci]
> >>>>>> using ADMA [ 1.130000] Synopsys Designware Multimedia
> >>>>>> Card Interface Driver [ 1.130000] Unable to handle kernel
> >>>>>> NULL pointer dereference at virtual address 0000002a [
> >>>>>> 1.130000] pgd = c0004000 [ 1.130000] [0000002a]
> >>>>>> *pgd=00000000 [ 1.135000] Internal error: Oops: 5 [#1]
> >>>>>> PREEMPT SMP ARM [ 1.140000] Modules linked in: [
> >>>>>> 1.140000] CPU: 0 PID: 1 Comm: swapper/0 Not tainted
> >>>>>> 3.13.0-rc1-00008-g584fa45-dirty #3 [ 1.150000] task:
> >>>>>> ef0a4000 ti: ef0a8000 task.ti: ef0a8000 [ 1.155000] PC
> >>>>>> is at clk_get_rate+0x18/0x5c [ 1.160000] LR is at
> >>>>>> clk_prepare_lock+0xc/0xd8 [ 1.165000] pc :
> >>>>>> [<c0319400>] lr : [<c0318864>] psr: a0000113 [
> >>>>>> 1.165000] sp : ef0a9e20 ip : ee94eb40 fp : 00000000 [
> >>>>>> 1.175000] r10: c0571510 r9 : ef0a8000 r8 : ef227a10 [
> >>>>>> 1.180000] r7 : c043544c r6 : fffffffe r5 : ee94ead0
> >>>>>> r4 : fffffffe [ 1.185000] r3 : ef0a4000 r2 :
> >>>>>> 00000001 r1 : 000002b9 r0 : 00000001 [ 1.195000] Flags:
> >>>>>> NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment
> >>>>>> kernel [ 1.200000] Control: 10c5387d Table: 4000404a
> >>>>>> DAC: 00000015 [ 1.205000] Process swapper/0 (pid: 1,
> >>>>>> stack limit = 0xef0a8240) [ 1.210000] Stack:
> >>>>>> (0xef0a9e20 to 0xef0aa000) [ 1.215000] 9e20: c0308474
> >>>>>> ee9ea610 ee94ead0 c0308488 c0308474 ee9ea610 00000000
> >>>>>> c030592c [ 1.225000] 9e40: ef227a10 00001000 c043544c
> >>>>>> c020a920 c0838b04 17d78400 ee9ea610 ef227a00 [
> >>>>>> 1.235000] 9e60: ef227a10 c05d6b1c 00000000 c05d6b1c
> >>>>>> c05890b0 ef0a8000 c0571510 c0269448 [ 1.240000] 9e80:
> >>>>>> c0269430 ef227a10 c061291c c0268088 00000000 ef227a10
> >>>>>> c05d6b1c ef227a44 [ 1.250000] 9ea0: 00000000 c026822c
> >>>>>> 00000000 c05d6b1c c02681a0 c02668a8 ef005478 ef212740 [
> >>>>>> 1.255000] 9ec0: c05d6b1c ef2c7900 c05cf438 c0267864
> >>>>>> c0511e38 c05d6b1c 00000006 c05d6b1c [ 1.265000] 9ee0:
> >>>>>> 00000006 c059575c c05df580 c026884c 00000000 c05a2e14
> >>>>>> 00000006 c00088dc [ 1.275000] 9f00: c0603f70 ef163e00
> >>>>>> c040e334 60000113 c05b5000 a0000113 c05b5054 c05b5050 [
> >>>>>> 1.280000] 9f20: c05df580 c054ad68 c0839c96 c04247b4
> >>>>>> 00000093 c0035158 c05b5054 c05a2a20 [ 1.290000] 9f40:
> >>>>>> c050ae2c c054a438 00000006 00000006 00000000 c05a2e14
> >>>>>> 00000006 c059575c [ 1.300000] 9f60: c05df580 00000093
> >>>>>> c0595768 c0571510 00000000 c0571c48 00000006 00000006 [
> >>>>>> 1.305000] 9f80: c0571510 c003df68 00000000 c0403544
> >>>>>> 00000000 00000000 00000000 00000000 [ 1.315000] 9fa0:
> >>>>>> 00000000 c040354c 00000000 c000e738 00000000 00000000
> >>>>>> 00000000 00000000 [ 1.320000] 9fc0: 00000000 00000000
> >>>>>> 00000000 00000000 00000000 00000000 00000000 00000000 [
> >>>>>> 1.330000] 9fe0: 00000000 00000000 00000000 00000000
> >>>>>> 00000013 00000000 be73efa4 ffffbffd [ 1.340000]
> >>>>>> [<c0319400>] (clk_get_rate+0x18/0x5c) from [<c0308488>]
> >>>>>> (dw_mci_exynos_setup_clock+0x14/0x2c) [ 1.350000]
> >>>>>> [<c0308488>] (dw_mci_exynos_setup_clock+0x14/0x2c) from
> >>>>>> [<c030592c>] (dw_mci_probe+0x15c/0xca4) [ 1.360000]
> >>>>>> [<c030592c>] (dw_mci_probe+0x15c/0xca4) from [<c0269448>]
> >>>>>> (platform_drv_probe+0x18/0x48) [ 1.365000] [<c0269448>]
> >>>>>> (platform_drv_probe+0x18/0x48) from [<c0268088>]
> >>>>>> (driver_probe_device+0x100/0x218) [ 1.375000]
> >>>>>> [<c0268088>] (driver_probe_device+0x100/0x218) from
> >>>>>> [<c026822c>] (__driver_attach+0x8c/0x90) [ 1.385000]
> >>>>>> [<c026822c>] (__driver_attach+0x8c/0x90) from
> >>>>>> [<c02668a8>] (bus_for_each_dev+0x54/0x88) [ 1.395000]
> >>>>>> [<c02668a8>] (bus_for_each_dev+0x54/0x88) from
> >>>>>> [<c0267864>] (bus_add_driver+0xd4/0x1d0) [ 1.405000]
> >>>>>> [<c0267864>] (bus_add_driver+0xd4/0x1d0) from
> >>>>>> [<c026884c>] (driver_register+0x78/0xf4) [ 1.415000]
> >>>>>> [<c026884c>] (driver_register+0x78/0xf4) from
> >>>>>> [<c00088dc>] (do_one_initcall+0xec/0x148) [ 1.420000]
> >>>>>> [<c00088dc>] (do_one_initcall+0xec/0x148) from
> >>>>>> [<c0571c48>] (kernel_init_freeable+0xfc/0x1c8) [
> >>>>>> 1.430000] [<c0571c48>] (kernel_init_freeable+0xfc/0x1c8)
> >>>>>> from [<c040354c>] (kernel_init+0x8/0x110) [ 1.440000]
> >>>>>> [<c040354c>] (kernel_init+0x8/0x110) from [<c000e738>]
> >>>>>> (ret_from_fork+0x14/0x3c) [ 1.450000] Code: ebfffd18
> >>>>>> e3540000 01a05004 0a000008 (e594302c)
> >>>>>
> >>>>>
> >>>>> Looks like a clock issue on 4412? I only have 5250 that I
> >>>>> boot test on, no EXYNOS4 coverage at all (I had an
> >>>>> Odroid-X but it wasn't useful due to the very old u-boot it
> >>>>> came with so I gave it away).
> >>>>>
> >>>>> Tomasz, is this something you can reproduce on 4210/4412?
> >>>>
> >>>> Nope. All of our boards (exynos4210-trats,
> >>>> exynos4412-trats2) are configured to use sdhci-s3c for all
> >>>> MMC slots[1], as at the time they got submitted to mainline,
> >>>> this driver was considered more reliable than dw-mmc. Not
> >>>> sure about today, though.
> >>>>
> >>>> [1] On Exynos4 there is one dw-mmc block and four sdhci-s3c
> >>>> blocks, while there are just four physical busses. Using pin
> >>>> control you can configure any of the four sets of pins to
> >>>> work either using its dedicated sdhci-s3c or the only one
> >>>> dw-mmc.
> >>>>
> >>>> Best regards, Tomasz
> >>>>
> >>>> -- To unsubscribe from this list: send the line "unsubscribe
> >>>> linux-samsung-soc" in the body of a message to
> >>>> majordomo@vger.kernel.org More majordomo info at
> >>>> http://vger.kernel.org/majordomo-info.html
> >>>>
> >>>>
> > Well I don't think it can work this time, maybe my dts is wrong.
> > At this time neither emmc nor usb can work.
> > ==========================log begin===============================
> > [ 1.035000] s3c-rtc 10070000.rtc: rtc disabled, re-enabling [
> > 1.040000] s3c-rtc 10070000.rtc: rtc core: registered s3c as rtc0 [
> > 1.050000] device-mapper: ioctl: 4.27.0-ioctl (2013-10-30)
> > initialised: dm-devel@redhat.com [ 1.055000] sdhci: Secure
> > Digital Host Controller Interface driver [ 1.060000] sdhci:
> > Copyright(c) Pierre Ossman [ 1.065000] s3c-sdhci
> > 12530000.sdhci: clock source 2: mmc_busclk.2 (100000000 Hz) [
> > 1.075000] s3c-sdhci 12530000.sdhci: dummy supplies not allowed [
> > 1.080000] mmc0: no vqmmc regulator found [ 1.085000] s3c-sdhci
> > 12530000.sdhci: dummy supplies not allowed [ 1.090000] mmc0: no
> > vmmc regulator found [ 1.125000] mmc0: SDHCI controller on
> > samsung-hsmmc [12530000.sdhci] using ADMA [ 1.125000] s3c-sdhci
> > 12550000.sdhci: failed to get io clock [ 1.125000] s3c-sdhci:
> > probe of 12550000.sdhci failed with error -2 [ 1.125000]
> > Synopsys Designware Multimedia Card Interface Driver [
> > 1.130000] usbcore: registered new interface driver usbhid [
> > 1.130000] usbhid: USB HID core driver [ 1.135000] TCP: cubic
> > registered [ 1.145000] NET: Registered protocol family 10 [
> > 1.145000] NET: Registered protocol family 17 [ 1.145000] NET:
> > Registered protocol family 15 [ 1.150000] Key type dns_resolver
> > registered [ 1.155000] Registering SWP/SWPB emulation handler [
> > 1.160000] unable to find transceiver of type USB2 PHY [ 1.165000]
> > exynos-ehci 12580000.ehci: no platform data or transceiver defined
> > [ 1.175000] platform 12580000.ehci: Driver exynos-ehci requests
> > probe deferral [ 1.175000] mmc0: new high speed SDHC card at
> > address aaaa [ 1.185000] isa bounce pool size: 16 pages [
> > 1.190000] mmcblk0: mmc0:aaaa SU08G 7.40 GiB [ 1.195000] s3c-rtc
> > 10070000.rtc: setting system clock to 2013-01-01 12:06:09 UTC
> > (1357041969) [ 1.205000] exynos_cpufreq_init: failed to get
> > resource vdd_arm [ 1.205000] mmcblk0: p1 p2 p3 p4 [
> > 1.215000] unable to find transceiver of type USB2 PHY [ 1.215000]
> > exynos-ehci 12580000.ehci: no platform data or transceiver defined
> > [ 1.225000] platform 12580000.ehci: Driver exynos-ehci requests
> > probe deferral
> >
> > ==========================log end=================================
> >
> > =======================dts==============================================
> >
> >
> >
> /*
> > * Hardkernel's Exynos4412 based tiny4412 1306 board device tree
> > source * * Copyright (c) 2013 Tomoya Gitsufuki
> > <ayaka@mail.soulik.info> * * Device tree source file for
> > Friendyarm tiny4412 1306 board which is based on * Samsung's
> > Exynos4412 SoC. * * This program is free software; you can
> > redistribute it and/or modify * it under the terms of the GNU
> > General Public License version 2 as * published by the Free
> > Software Foundation. */
> >
> > /dts-v1/; #include "exynos4412.dtsi"
> >
> > / { model = "Friendly Arm Tiny4412 1306 board based on Exynos4412";
> > compatible = "friendlyarm,tiny4412-1306", "samsung,exynos4412";
> >
> > memory { reg = <0x40000000 0x40000000>; };
> >
> > chosen { bootargs ="root=/dev/mmcblk0p1 rootfstype=ext4 rw
> > console=ttySAC0,115200 init=/sbin/init"; };
> >
> > leds { compatible = "gpio-leds"; led1 { label = "led1:heart";
> > gpios = <&gpm4 0 1>; default-state = "on"; linux,default-trigger =
> > "heartbeat"; }; led2 { label = "led2:mmc0"; gpios = <&gpm4 1 1>;
> > default-state = "on"; linux,default-trigger = "mmc0"; };
> >
> > };
> >
> > regulators { compatible = "simple-bus"; #address-cells = <1>;
> >
> > vemmc_reg: regulator-0 { compatible = "regulator-fixed";
> > regulator-name = "VMEM_VDD_2.8V"; regulator-min-microvolt =
> > <2800000>; regulator-max-microvolt = <2800000>; gpio = <&gpk0 2 0>;
> > enable-active-high; };
> >
> > };
> >
> > /* mshc@12550000 { #address-cells = <1>; #size-cells = <0>;
> > pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; pinctrl-names
> > = "default"; status = "okay";
> >
> > vmmc-supply = <&vemmc_reg>; clocks = <&clock 301>, <&clock 149>;
> > clocks-name = "dwmci", "sclk_dwmci"; clock-frequency =
> > <400000000>;
> >
> > num-slots = <1>; supports-highspeed; broken-cd; fifo-depth =
> > <0x80>; card-detect-delay = <200>; samsung,dw-mshc-sdr-timing = <2
> > 3>; samsung,dw-mshc-ddr-timing = <1 2>;
> >
> > slot@0 { reg = <0>; bus-width = <8>; }; }; */
> >
> > rtc@10070000 { status = "okay"; };
> >
> > sdhci@12530000 { bus-width = <4>; pinctrl-0 = <&sd2_clk &sd2_cmd
> > &sd2_bus4 &sd2_cd>; pinctrl-names = "default"; status = "okay"; };
> >
> > sdhci@1254000 { bus-width = <4>; pinctrl-0 = <&sd3_clk &sd3_cmd
> > &sd3_bus4 &sd3_cd>; pinctrl-names = "default"; status = "okay"; };
> >
> > sdhci@12550000 { compatible = "samsung,exynos4210-sdhci";
> > #address-cells = <1>; #size-cells = <0>; reg = <0x12550000 0x1000>;
> > interrupts = <0 77 0>; non-removable; pinctrl-0 = <&sd4_clk
> > &sd4_cmd &sd4_bus4 &sd4_bus8>; pinctrl-names = "default"; status =
> > "okay";
> >
> > bus-width = <8>; vmmc-supply = <&vemmc_reg>; clocks = <&clock
> > 301>, <&clock 149>; clocks-name = "dwmci", "sclk_dwmci";
> > clock-frequency = <400000000>;
> >
> > };
> >
> > /* the usb phy of hsic0, hsic1 and otg are in the same place */
> > usb_phy: otg@125B0000 { #address-cells = <1>; #size-cells = <1>;
> > compatible = "samsung,exynos4210-usbphy"; reg = <0x125B0000 0x100>;
> > ranges;
> >
> > clocks = <&clock 2>, <&clock 305>; clock-names = "xusbxti", "otg";
> > usbphy-sys { /* USB device and host PHY_CONTROL registers */ reg
> > = <0x10020704 0x8>; }; };
> >
> > ehci@12580000 { usb-phy = <&usb_phy>; status = "okay"; };
> > ohci@12590000 { status = "okay"; };
> >
> >
> > codec@13400000 { samsung,mfc-r = <0x43000000 0x800000>;
> > samsung,mfc-l = <0x51000000 0x800000>; status = "okay"; };
> >
> > serial@13800000 { status = "okay"; };
> >
> > serial@13810000 { status = "okay"; };
> >
> > serial@13820000 { status = "okay"; };
> >
> > serial@13830000 { status = "okay"; };
> >
> > fixed-rate-clocks { xxti { compatible = "samsung,clock-xxti";
> > clock-frequency = <0>; };
> >
> > xusbxti { compatible = "samsung,clock-xusbxti"; clock-frequency =
> > <24000000>; }; };
> >
> > i2c@13860000 { status = "okay"; samsung,i2c-sda-delay = <100>;
> > samsung,i2c-max-bus-freq = <200000>;
> >
> > wm8960@10 { compatible = "wlf,wm8960"; reg = <0x10>; }; }; };
> >>
> >
> > -- To unsubscribe from this list: send the line "unsubscribe
> > linux-samsung-soc" in the body of a message to
> > majordomo@vger.kernel.org More majordomo info at
> > http://vger.kernel.org/majordomo-info.html
> >
> >
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.12 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iQEcBAEBAgAGBQJSlDj0AAoJEPb4VsMIzTziji8H/jgZfK7ZArb6kK74jb/P8vOv
> OIsOw301smAp83LafMd1BWzInkhZnMp+4g/uTawjWDGPw3rJOiu8Qcyr4VmI1r4h
> oXfcVS+p27qAVsMN+11e9fFKu2DsDwxb/aidau6OAAi5+U3h0rHTptRzIzbqbnxp
> 5lOV1eldrnXSRIsUTYmaPVLUcVRAD0p8zcPmOH79XghrcHdTisYA/yjFgu2mQJgE
> QgaDaEgwoFwXrTkg/w+fHHZFdOUHhursSzIGR8HUKirK2Sg2KaPRU+MXPf8nVY8B
> 1MEX7pnI+7feOK20eNEc9H8GmCph8MnjCsY+9DxwxqDeBkP31BhTVGIxK+ajmzw=
> =aRRx
> -----END PGP SIGNATURE-----
next prev parent reply other threads:[~2013-12-02 12:58 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-24 12:07 linux 3.13-rc1 make dw_mmc-exynos more worse randy
2013-11-25 6:18 ` Olof Johansson
2013-11-25 8:33 ` Seungwon Jeon
2013-11-25 12:42 ` randy
2013-11-26 0:41 ` Tomasz Figa
2013-11-26 1:47 ` randy
2013-11-26 4:32 ` Jaehoon Chung
2013-11-26 6:00 ` randy
2013-12-01 12:30 ` [PATCH 1/1] ARM: dts: Add missing clock names for exynos4412 dwmmc node randy
2013-12-02 12:58 ` Seungwon Jeon [this message]
2013-12-02 13:15 ` linux 3.13-rc1 make dw_mmc-exynos more worse randy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='001c01ceef5e$244fd8e0$6cef8aa0$%jun@samsung.com' \
--to=tgih.jun@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=jh80.chung@samsung.com \
--cc=kgene.kim@samsung.com \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=lxr1234@hotmail.com \
--cc=olof@lixom.net \
--cc=t.figa@samsung.com \
--cc=tomasz.figa@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.