[PXA320] How to find I/O registers, base address of ASIX ethernet chip?

Dennis Semakin insane79 at yandex.ru
Fri Feb 5 03:02:10 EST 2010


Hello

I use u-boot.

>  
>  The addresses passed to the driver is the I/O area of the chip select
>  signal used for the Ethernet chip. This setting should be alright, as it
>  worked well for me.
>  
>  If your kernel hangs when accessing this area, you most probably haven't
>  set up your static bus correctly. The bootloader is in charge of doing
>  this, and the correct value for CSADRCFG2 is 0x0032C809.
>  
>  Also see http://openpxa.sourceforge.net/ for patches to U-Boot and more
>  information about replacing the native bootloader the modules ships
>  with.
>  
>  Daniel
>  

In U-BOOT:

MSC1 (address 0x4a00000c) - 0x0779
$ md.w 0x4a00000c
4a00000c: 0779 0000 0000 0000 0000 0000 0000 0000 y...............
4a00001c: 0008 0000 0000 0000 0000 0000 0000 0000 ................
4a00002c: 0000 0000 0000 0000 0000 0000 0000 0000 ................
4a00003c: 0000 0000 0000 0000 0000 0000 0000 0000 ................

CSADRCFG2 (address 0x4a000088) - 0032c809
$ md.l 0x4a000088
4a000088: 0032c809 00020000 00020000 00000000 ..2.............
4a000098: 00000000 00000000 00000000 00000000 ................
4a0000a8: 00000000 00000000 00000000 00000000 ................
4a0000b8: 00000000 00000000 00000000 00000000 ................
4a0000c8: 00000000 00000000 00000000 00000000 ................

As I think everythig is right and corresponds to a code

int board_init (void)
{
/* arch number for linux kernel */
gd->bd->bi_arch_number = MACH_TYPE_COLIBRI320;

/* adress of boot parameters */
gd->bd->bi_boot_params = 0x80000100;

/* configuration for ethernet chip */
CKENB |= CKENB_7_GPIO;
GPIO3 = 0x00001c01;
MSC1 = 0x779;
CSADRCFG2 = 0x0032C809;

return 0;
}


Thanks
Best regards
Dennis Semakin 



More information about the linux-arm-kernel mailing list