[U-Boot] [PATCH v3 3/3] arm: odroid: usb: add support for usb host including ethernet

Suriyan Ramasami
2014-11-18T17:34:04Z

Hello Przemyslaw,

On Tue, Nov 18, 2014 at 3:09 AM, Przemyslaw Marczak
<p.marczak@samsung.com> wrote:
> Hello Suriyan,
>
> On 11/18/2014 04:30 AM, Suriyan Ramasami wrote:
>>
>> Hello Minkyu Kang/Przemyslaw and of course anyone else who can direct me,
>>
>> Thanks for the commit.
>>
>> I just realized that the code in this particular patch is missing
>> the gpio_request() call before calling the gpio_direction_output()
>> call, and hence fails to initialize the USB3503A hub. This was pointed
>> out by Przemyslaw in another patch of mine (odroid: blue LED)
>>
>> So, my question is, this patch is in u-boot-samsung. To correct the
>> above mentioned error, do I submit a patch directed to u-boot-samsung?
>> If so how do I do it? I mean, do I elaborate this in the subject
>> /.body of the mail?
>>
>> Thanks and regards,
>> - Suriyan
>>
>>
>
> Yes, the gpio_request() was missed in your code - it prints errors about it
> but the HUB works fine. So when you send the fixed version this should be
> okay. Please check ums command before send.
>

Sure, will do!

> Please also check setting buck value at function board_usb_init(),
> the buck is disabled and before enable - the value changes two times -
> probably by mistake.
>

I think there is an error in the implementation of
max77686_set_buck_mode(..., buck #, OPMODE_OFF), or I have some gap in
my understanding of it. I believe that when you set OPMODE_OFF it
should turn it OFF right? as in no voltage? This does not seem to be
the case.
I have to turn the power off and then on, on BUCK8 (LAN9730 feeds off
of it), to reset the LAN when a usb reset is issued, else it will not
be detected again when usb start is re-issued.
Initially, I had max77686_set_buck_mode(p_pmic, 9, OPMODE_OFF); delay;
max77686(set_buck_mode(p_pmic, 9, OPMODE_ON); but it did not power
recycle the LAN9730 chip.
I do not have access to the MAX77686 data sheets to debug this. Hence,
in my current code I set the voltage to the lowest possible value, and
then bring it back up to 3.3V to simulate a reset. In fact, I can
remove the OPMODE_OFF and OPMODE_ON code, and it works.
Please let me know if there is any change needed in the OPMODE_OFF
code for it to work the way it should, or correct my understanding of
what it is supposed to do.

Currently, I am thinking of just having:
max77686_set_buck_voltage(p_pmic, 8, 750000);
max77686_set_buck_voltage(p_pmic, 8, 3300000);
and leave the OPMODE_OFF and OPMODE_ON out of it.

> And the gpio_request(...) you can put into board_gpio_init - request gpio
> only one.
>

Yes.

> The odroid is available on the market, so I would prefer keep some
> documentation in the doc/README.odroid.
> Could you please add short section about the USB usage in U-Boot? This would
> be useful.

OK!

>
>
>> On Mon, Nov 17, 2014 at 6:02 AM, Minkyu Kang <mk7.kang@samsung.com> wrote:
>>>
>>> On 30/10/14 01:22, Suriyan Ramasami wrote:
>>>>
>>>> This change adds support for enabling the USB host features of the
>>>> board.
>>>> This includes the USB3503A hub and the SMC LAN9730 ethernet controller
>>>> as well.
>>>>
>>>> Signed-off-by: Suriyan Ramasami <suriyan.r@gmail.com>
>>>>
>>>> ---
>>>>
>>>> Changes in v3:
>>>> * removed set_usb_ethaddr() and related code as the GUID registers do
>>>> not
>>>> seem to be documented anywhere. This is sad, as this mechanism allows
>>>> for each Odroid to boot up with the same MAC address every time, but
>>>> no
>>>> two odroids shall have the same MAC address on boot. This ensures
>>>> multiple
>>>> odroids in the same LAN to come up without conflicting MAC addresses.
>>>> * Minkyu - Do not mix cpu_is... and proid_is...
>>>>
>>>> Changes in v2:
>>>> * Jaehoon - Split power.[ch] as a separate patch
>>>> * Removed an unneeded header file from ehci-exynos.c
>>>> * Jaehoon - Fix indentation in the dts file
>>>>
>>>> Changes in v1:
>>>> * First try
>>>>
>>>> arch/arm/dts/exynos4412-odroid.dts | 11 +++++++
>>>> arch/arm/include/asm/arch-exynos/ehci.h | 13 ++++++++
>>>> board/samsung/odroid/odroid.c | 32 +++++++++++++++++++
>>>> drivers/usb/host/ehci-exynos.c | 55
>>>> ++++++++++++++++++++++++++++-----
>>>> include/configs/odroid.h | 13 ++++++++
>>>> 5 files changed, 116 insertions(+), 8 deletions(-)
>>>>
>>>
>>> applied to u-boot-samsung.
>>>
>>> Thanks,
>>> Minkyu Kang.
>>>
>>
>
> Best regards,
> --
> Przemyslaw Marczak
> Samsung R&D Institute Poland
> Samsung Electronics
> p.marczak at samsung.com