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

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

 



Hi Matteo,

On Wed, Mar 12, 2008 at 02:26:42AM +0100, Matteo Croce wrote:
> +	switch (dev->divisor) {
> +	case vlynq_div_auto:
> +		/* Only try locally supplied clock, others cause problems */

i have a platform (AR7VWi - Leonardo Board) which has an external
supplied clock from an ACX111 so the div_auto autoprobing will not work.

I put the vlynq_div_external code in front of this which should
simply listen on the vlynq if there is a clock and use it. This solved
one of the issues for me. Can you elaborate on the above comment where
caused problems? I have seen multiple implementations of this, all of
them did autoprobing first by listening on the remote clock first.

> +		vlynq_reg_write(dev->remote->control, 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));
> +			if (vlynq_linked(dev)) {
> +				printk(KERN_DEBUG
> +				       "%s: using local clock divisor %d\n",
> +				       dev->dev.bus_id, i - vlynq_ldiv1 + 1);
> +				dev->divisor = i;
> +				return 0;
> +			}
> +		}

What i found in the TI code is that FIRST the local->control needs to
get set before issueing a remote access so shouldnd the 

	vlynq_reg_write(dev->remote ... )

move behind the dev->local ? I mean the logic is to set a local clock
divisor - try to access something on the remote end and see if the link
got up ?!?

Flo
-- 
Florian Lohoff                  flo@xxxxxxxxxx             +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


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux