* [PATCH 1/1] ARM: dts: Add missing clock names for exynos4412 dwmmc node
@ 2013-12-01 10:11 Alex Ling
2013-12-02 9:52 ` Mark Rutland
0 siblings, 1 reply; 4+ messages in thread
From: Alex Ling @ 2013-12-01 10:11 UTC (permalink / raw)
To: ben-linux, kgene.kim, rob.herring, pawel.moll, mark.rutland,
linux, linux-arm-kernel, linux-samsung-soc, devicetree,
linux-kernel
Cc: Alex Ling
This patch adds "biu" and "ciu" clock names for exynos4412 dwmmc
node. Without this patch, dwmmc host driver will skip enabling the
two clocks and it will break dwmmc host function on exynos4412.
Tested on FriendlyARM TINY4412 board.
Signed-off-by: Alex Ling <kasimling@gmail.com>
---
arch/arm/boot/dts/exynos4412.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi
index e743e67..67bef99 100644
--- a/arch/arm/boot/dts/exynos4412.dtsi
+++ b/arch/arm/boot/dts/exynos4412.dtsi
@@ -67,5 +67,7 @@
interrupts = <0 77 0>;
#address-cells = <1>;
#size-cells = <0>;
+ clocks = <&clock 301>, <&clock 149>;
+ clock-names = "biu", "ciu";
};
};
--
1.7.9.5
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] ARM: dts: Add missing clock names for exynos4412 dwmmc node
2013-12-01 10:11 [PATCH 1/1] ARM: dts: Add missing clock names for exynos4412 dwmmc node Alex Ling
@ 2013-12-02 9:52 ` Mark Rutland
2013-12-02 14:01 ` Alex Ling
0 siblings, 1 reply; 4+ messages in thread
From: Mark Rutland @ 2013-12-02 9:52 UTC (permalink / raw)
To: Alex Ling
Cc: devicetree@vger.kernel.org, kgene.kim@samsung.com,
linux@arm.linux.org.uk, Pawel Moll, linux-kernel@vger.kernel.org,
rob.herring@calxeda.com, linux-samsung-soc@vger.kernel.org,
ben-linux@fluff.org, linux-arm-kernel@lists.infradead.org
On Sun, Dec 01, 2013 at 10:11:47AM +0000, Alex Ling wrote:
> This patch adds "biu" and "ciu" clock names for exynos4412 dwmmc
> node. Without this patch, dwmmc host driver will skip enabling the
> two clocks and it will break dwmmc host function on exynos4412.
> Tested on FriendlyARM TINY4412 board.
The patch description is a little off; this patch adds the clocks as
well as the clock-names.
The patch itself looks fine to me.
Mark.
>
> Signed-off-by: Alex Ling <kasimling@gmail.com>
> ---
> arch/arm/boot/dts/exynos4412.dtsi | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi
> index e743e67..67bef99 100644
> --- a/arch/arm/boot/dts/exynos4412.dtsi
> +++ b/arch/arm/boot/dts/exynos4412.dtsi
> @@ -67,5 +67,7 @@
> interrupts = <0 77 0>;
> #address-cells = <1>;
> #size-cells = <0>;
> + clocks = <&clock 301>, <&clock 149>;
> + clock-names = "biu", "ciu";
> };
> };
> --
> 1.7.9.5
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] ARM: dts: Add missing clock names for exynos4412 dwmmc node
2013-12-02 9:52 ` Mark Rutland
@ 2013-12-02 14:01 ` Alex Ling
0 siblings, 0 replies; 4+ messages in thread
From: Alex Ling @ 2013-12-02 14:01 UTC (permalink / raw)
To: Mark Rutland
Cc: ben-linux@fluff.org, kgene.kim@samsung.com,
rob.herring@calxeda.com, Pawel Moll, linux@arm.linux.org.uk,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
On Mon, Dec 2, 2013 at 5:52 PM, Mark Rutland <mark.rutland@arm.com> wrote:
> On Sun, Dec 01, 2013 at 10:11:47AM +0000, Alex Ling wrote:
>> This patch adds "biu" and "ciu" clock names for exynos4412 dwmmc
>> node. Without this patch, dwmmc host driver will skip enabling the
>> two clocks and it will break dwmmc host function on exynos4412.
>> Tested on FriendlyARM TINY4412 board.
>
> The patch description is a little off; this patch adds the clocks as
> well as the clock-names.
Well noted. I'll update the description later. Thanks!
>
> The patch itself looks fine to me.
>
> Mark.
>
>>
>> Signed-off-by: Alex Ling <kasimling@gmail.com>
>> ---
>> arch/arm/boot/dts/exynos4412.dtsi | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi
>> index e743e67..67bef99 100644
>> --- a/arch/arm/boot/dts/exynos4412.dtsi
>> +++ b/arch/arm/boot/dts/exynos4412.dtsi
>> @@ -67,5 +67,7 @@
>> interrupts = <0 77 0>;
>> #address-cells = <1>;
>> #size-cells = <0>;
>> + clocks = <&clock 301>, <&clock 149>;
>> + clock-names = "biu", "ciu";
>> };
>> };
>> --
>> 1.7.9.5
>>
>>
BR,
Alex
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: linux 3.13-rc1 make dw_mmc-exynos more worse
@ 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
0 siblings, 1 reply; 4+ messages in thread
From: randy @ 2013-11-26 6:00 UTC (permalink / raw)
To: Jaehoon Chung
Cc: Tomasz Figa, linux-samsung-soc, devicetree, Seungwon Jeon, t.figa,
olof, kgene.kim
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
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
>>>>> <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-----
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] ARM: dts: Add missing clock names for exynos4412 dwmmc node
2013-11-26 6:00 linux 3.13-rc1 make dw_mmc-exynos more worse randy
@ 2013-12-01 12:30 ` randy
0 siblings, 0 replies; 4+ messages in thread
From: randy @ 2013-12-01 12:30 UTC (permalink / raw)
To: linux-samsung-soc; +Cc: devicetree, kasimling
-----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 <lxr1234@hotmail.com>
收件人: Jaehoon Chung <jh80.chung@samsung.com>
抄送: Tomasz Figa <tomasz.figa@gmail.com>,
linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, Seungwon
Jeon <tgih.jun@samsung.com>, t.figa@samsung.com, olof@lixom.net,
kgene.kim@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
>>>>> <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
>
>
- --
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/
iQEcBAEBAgAGBQJSmyvdAAoJEPb4VsMIzTziIhMH/1IgGhwGdq7rX287MbuWGEbk
s+btcAJ3P/g5pg5mP+1LQ5lHXF+xQmFK3l3lYuqs8aDZcQXqQKOaRRLfq9Et6rUo
28FuJyIJOmA3PTSy1JIbW86R3NxrP9XgmBOs4AUMX6P276fC6GzzeJcdscoGa/Cl
r4eciyc8FKCuVWzOUSfXgqxwlhkk9zoawANoz8zGB0wUdX3NZcg6TibXFMeMBXbP
cohO4juDL9UGObxMYirwboa3OYUUBjYYtJl88V4swQld8/fuk3fjkrwLH8FIZULg
fBxT+IxcKjySIfDJ84/aYbIPbzkEZPrqNV3Fh9cS/BcyAeSZgpJHlHuw0xYajLc=
=oNvB
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-12-02 14:01 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-01 10:11 [PATCH 1/1] ARM: dts: Add missing clock names for exynos4412 dwmmc node Alex Ling
2013-12-02 9:52 ` Mark Rutland
2013-12-02 14:01 ` Alex Ling
-- strict thread matches above, loose matches on Subject: below --
2013-11-26 6:00 linux 3.13-rc1 make dw_mmc-exynos more worse randy
2013-12-01 12:30 ` [PATCH 1/1] ARM: dts: Add missing clock names for exynos4412 dwmmc node randy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).