-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I don't know whether it will works. Actually I don't what the name
used for. So I just referencing my mail before.
Thank you

- -------- origin mail --------
主题: Re: linux 3.13-rc1 make dw_mmc-exynos more worse
日期: Tue, 26 Nov 2013 14:00:20 +0800
发件人: randy <lxr1...@hotmail.com>
收件人: Jaehoon Chung <jh80.ch...@samsung.com>
抄送: Tomasz Figa <tomasz.f...@gmail.com>,
linux-samsung-soc@vger.kernel.org, devicet...@vger.kernel.org, Seungwon
Jeon <tgih....@samsung.com>, t.f...@samsung.com, o...@lixom.net,
kgene....@samsung.com

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?

于 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 
>>>>> <lxr1...@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 
>>>> majord...@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-de...@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 
> <ay...@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 
> majord...@vger.kernel.org More majordomo info at 
> http://vger.kernel.org/majordomo-info.html
> 
> 

- --
To unsubscribe from this list: send the line "unsubscribe
linux-samsung-soc" in
the body of a message to majord...@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/

iQEcBAEBAgAGBQJSmyvdAAoJEPb4VsMIzTziIhMH/1IgGhwGdq7rX287MbuWGEbk
s+btcAJ3P/g5pg5mP+1LQ5lHXF+xQmFK3l3lYuqs8aDZcQXqQKOaRRLfq9Et6rUo
28FuJyIJOmA3PTSy1JIbW86R3NxrP9XgmBOs4AUMX6P276fC6GzzeJcdscoGa/Cl
r4eciyc8FKCuVWzOUSfXgqxwlhkk9zoawANoz8zGB0wUdX3NZcg6TibXFMeMBXbP
cohO4juDL9UGObxMYirwboa3OYUUBjYYtJl88V4swQld8/fuk3fjkrwLH8FIZULg
fBxT+IxcKjySIfDJ84/aYbIPbzkEZPrqNV3Fh9cS/BcyAeSZgpJHlHuw0xYajLc=
=oNvB
-----END PGP SIGNATURE-----
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to