Re: How to enable usb in exynos4412

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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

Hello Tomasz Figa
于 2013年11月28日 22:37, Tomasz Figa 写道:
> Hi Randy,
> 
> On Thursday 28 of November 2013 22:00:41 randy wrote:
>> I have development board whose SoC is exynos4412, I try to enable
>> the usb in it but I failed. I saw the document 
>> Documentation/devicetree/bindings/usb/samsung-usbphy.txt, does it
>> mean that the usb driver is not done? And about that document, in
>> samsung datasheet(32.8.2), the address reg 0x125B_0000 + 32bits
>> contains hsic1, hsic0, phy1 and phy0's power control. And in
>> 0x1002_0704 + 3 * 32 bits, it contains usb_phy, hsic1_phy and
>> hsic2_phy control(8.8.1.27). So I doubt the documents.
>> 
>> Here is the log and dts 
>> ===========================log================================ [
>> 1.000000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI)
>> Driver [    1.010000] ehci-exynos: EHCI EXYNOS driver [
>> 1.015000] unable to find transceiver of type USB2 PHY [
>> 1.020000] exynos-ehci 12580000.ehci: no platform data or 
>> transceiver defined [    1.025000] platform 12580000.ehci: Driver
>> exynos-ehci requests probe deferral
> 
> First of all, do you have CONFIG_SAMSUNG_USB2PHY enabled in your
> kernel config? Also, see below.
> 
>> 
Yes, I have

ayaka@kotomi:~/workplace/exynos4412/kernel/linux-mainline$ cat
../build-linux-mainline/.config|grep CONFIG_SAMSUNG_USB2PHY
CONFIG_SAMSUNG_USB2PHY=y
>> ================================dts==================================
>>
>> 
diff --git a/arch/arm/boot/dts/exynos4412-tiny4412.dts
>> b/arch/arm/boot/dts/exynos4412-tiny4412.dts new file mode 100644 
>> index 0000000..c8d4cfa --- /dev/null +++
>> b/arch/arm/boot/dts/exynos4412-tiny4412.dts @@ -0,0 +1,176 @@ 
>> +/* + * Hardkernel's Exynos4412 based tiny4412 1306 board device
>> tree source + * + * Copyright (c) 2013 Tomoya Gitsufuki
>> <ayaka@xxxxxxxxxxxxxxxx> + * + * 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"; +	}; + +	usb_phy:
>> usbphy@125B0000 { +		#address-cells = <1>; +		#size-cells = <1>; 
>> +		compatible = "samsung,exynos4210-usbphy";
> 
> This is not the compatible listed in [1]. Moreover, it looks like
> the compatible string for Exynos4x12 is not documented. According
> to driver code, it should be "samsung,exynos4x12-usb2phy".
> 
> [1] Documentation/devicetree/bindings/usb/samsung-usbphy.txt
> 
>> +		reg = <0x12B0000 0x100>;
> 
> The address should be 0x125B0000.
> 
>> +		ranges; + +		clocks = <&clock 2>, <&clock 305>; +		clock-names
>> = "xusbxti", "otg"; +		usbphy-sys { +			/* USB device and host
>> PHY_CONTROL registers */ +			reg = <0x10020704 0x8>;
> 
> reg should be <0x10020704 0xc 0x1001021c 0x4> on Exynos4x12.
> 
> In general, this PHY driver is only preliminary and there is
> already work going on a completely new PHY driver that will cover
> full USB functionality present on Exynos 4 and should be much more
> reliable.
> 
> The currently available one might or might not work for you, even
> after correcting the things I pointed above.
> 
> Best regards, Tomasz
> 
> 
> 
I have follow you, yes it doesn't work. I have tested it many times
before, the first address problem may is modified in one test.
So I shall wait the driver to be ready?
Thank you.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJSl2FPAAoJEPb4VsMIzTzi4fEH/1oSAOP3Ei3lNC8aIQM5Kzl0
TY19PlixKp33sJiSY9ojRxObilMX3MI2elNxNpKl8X+HbqJhlWlrifa+u202A4UW
Cen0RJcFfYBKSQvY2rf/aeJxTbcBFrrHc5p6P/fQh3hJn4SgfS4qYeQKyYUv494p
yhqJvHOGNDP3h2SR6DTwb/2sTiLFCvuM5Ea8IkjfLv+dsYOlaXl1/b6az0g0IHXc
wiGChsm9lQlHc5RCYpoJYFnUueRWjBoJcBPNJH54gJ3HQx48D7g5TGOAwubTPYQt
7BGuFYPqPwbEMon81bv72k/XJ6BoTH1NfWP8scMxNHrSJNLc9QUL3qlIMmA2b7c=
=LK75
-----END PGP SIGNATURE-----
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux