[U-Boot] [PATCH] microblaze: usable uart16550 for big endian systems

Michal Simek monstr at monstr.eu
Fri Nov 25 11:28:29 CET 2011


Stephan Linz wrote:
> Am Donnerstag, den 24.11.2011, 20:13 +0100 schrieb Michal Simek:
>> Stephan Linz wrote:
>>> --snip--
>>>> Here is patch I have used. Please add that changes to v2 patch.
>>> I'll do it this way. Give me a little time to change and test it.
>>> Currently I am sill working on refactoring of the LL TEMAC driver. I
>>> hope, the refactored driver than can merge in mainline ...
>> I have done it some time ago and look at "[PATCH v3] net: ll_temac:
>> Add LL TEMAC driver to u-boot thread".
> 
> Hi Michal,
> 
> yes, I've read the whole thread.

ok.

> 
>> I have attached the latest version I have and I am not going to change
>> it to follow "new" u-boot network driver style
> 
> Hm, but it is possible ...

sure, it is software almost everything is possible.

> 
>> because  I would like to keep ppc dcr support.
> 
> Even this was the main work I've done last week. I've split the driver
> code into differnt sub modules (xilinx_ll_temac_fifo and
> xilinx_ll_temac_sdram), introduce some call back functions into the sub
> modules to harmonize the main driver code and divide the sdma code into
> the two different bus access methodes: direct 32 bit memory access
> (Microblaze) and indirect access via DCR (Xilinx PPC4xx).
> 
> Please, give me some time to finish the refactoring. I'll release all
> results as fast as possible her in U-Boot list.

ok. Look forward for patches.

> 
> But, one issue was uncleare to me. Some functions, for example
> xps_ll_temac_hostif_set(), were prepared to set bit 10 of CTL register.
> But CTL bit 10 is not defined by any LL TEMAC documentation. Why did you
> done this?

I was in origin Yoshio Kashiwagi's driver. emac parameter should be possible to
remove entirely as below.

static unsigned int xps_ll_temac_hostif_get(struct eth_device *dev,
			int phy_addr, int reg_addr)
{
	struct temac_reg *regs = (struct temac_reg *)dev->iobase;

	out_be32(&regs->lsw, (phy_addr << 5) | reg_addr);
	out_be32(&regs->ctl, MIIMAI);
	xps_ll_temac_check_status(regs, XTE_RSE_MIIM_RR_MASK);
	return in_be32(&regs->lsw);
}

Thanks,
Michal


-- 
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian


More information about the U-Boot mailing list