linux-mips
[Top] [All Lists]

Re: [PATCH][MIPS][3/6]: AR7: VLYNQ bus

To: Matteo Croce <technoboy85@gmail.com>
Subject: Re: [PATCH][MIPS][3/6]: AR7: VLYNQ bus
From: Florian Lohoff <flo@rfc822.org>
Date: Wed, 2 Apr 2008 20:31:14 +0200
Cc: linux-mips@linux-mips.org, Eugene Konev <ejka@imfi.kspu.ru>, Andrew Morton <akpm@linux-foundation.org>
In-reply-to: <200804021456.44472.technoboy85@gmail.com>
Organization: rfc822 - pure communication
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <200803120221.25044.technoboy85@gmail.com> <200803120226.42795.technoboy85@gmail.com> <20080329095914.GA18263@paradigm.rfc822.org> <200804021456.44472.technoboy85@gmail.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.13 (2006-08-11)
On Wed, Apr 02, 2008 at 02:56:44PM +0200, Matteo Croce wrote:
> 
> Works fine for my AR7 which has an interlan clock.
> 

Its doesnt for me with an external clock - thats what i mean - Auto
probing should first try to listen for an external clock before letting
clocks run against each other. This is the hunk of a patch on top of
yours ...

@@ -371,12 +371,20 @@ static int __vlynq_enable_device(struct 
 
        switch (dev->divisor) {
        case vlynq_div_auto:
-               /* Only try locally supplied clock, others cause problems */
+       
+               vlynq_reg_write(dev->local->control, 0);
                vlynq_reg_write(dev->remote->control, 0);
+               if (vlynq_linked(dev)) {
+                       printk(KERN_DEBUG "%s: using external clock\n",
+                              dev->dev.bus_id);
+                       return 0;
+               }
+
                for (i = vlynq_ldiv2; i <= vlynq_ldiv8; i++) {
                        vlynq_reg_write(dev->local->control,
                                        VLYNQ_CTRL_CLOCK_INT |
                                        VLYNQ_CTRL_CLOCK_DIV(i - vlynq_ldiv1));
+                       vlynq_reg_write(dev->remote->control, 0);
                        if (vlynq_linked(dev)) {
                                printk(KERN_DEBUG
                                       "%s: using local clock divisor %d\n",

Flo
-- 
Florian Lohoff                  flo@rfc822.org             +49-171-2280134
        Those who would give up a little freedom to get a little 
          security shall soon have neither - Benjamin Franklin

Attachment: signature.asc
Description: Digital signature

<Prev in Thread] Current Thread [Next in Thread>