Reprint Modify Linux kernel DM9000 support tiny210 Development Board

Source: Internet
Author: User

Error phenomena:

dm9000 dm9000:read Wrong ID 0x2b2a2928
dm9000 Dm9000:wrong id:0x2b2a2928
dm9000 Dm9000:not found (-19).

TCP Cubic Registered
Net:registered Protocol Family 17
Registering the Dns_resolver key type
VFP Support V0.3:implementor Architecture 3 Part variant C Rev 2
Vfs:unable to mount Root FS via NFS, trying floppy.
Vfs:cannot Open Root Device "NFS" or Unknown-block (2,0)
Please append a correct "root=" boot option; Here is the available partitions:
Kernel Panic-not syncing:VFS:Unable to mount Root fs on Unknown-block (2,0)



Configure the kernel to support NFS + DM9000, some of which refer to network articles:

(1) Configuring network support
[*] Networking Support--->
Networking Options--->
<*> Packet Socket
<*> Unix domain sockets
[*] TCP/IP Networking
[*] Ip:multicasting
[*] Ip:kernel level Autoconfiguration
[*] IP:DHCP Support
[*] IP:BOOTP Support
[*] Ip:rarp Support
[*] Ip:multicast Routing

(2) Configure network card device support
Device Drivers--->
[*] Network Device Support--->
[*] Ethernet Driver Support--->
<*> DM9000 Support

(3) Configuring Network File system support
File Systems--->
[*] Network File Systems--->
<*> NFS Client Support
<*> NFS Client Support for NFS version 2
<*> NFS Client Support for NFS version 3
[*] NFS client Support for the NFSv3 ACL protocol extension
<*> NFS Client Support for NFS version 4
[*] Root file system on NFS


Re-configuring NFS, configuring NFS server under Ubuntu is simple
sudo apt-get install Nfs-kernel-server

Then open the/etc/exports file with root privileges, my NFS root directory is/nfsroot, the general situation uses version 2,3, so set export to
/nfsroot/* (Rw,sync,no_subtree_check)
Shared directory name all IPs (various attributes)
The No_subtree_check property in the best is to take, I was not quite clear, the use of no_root_squash, the result will lead to mount.nfs:access denied by the server while mounting and other errors
Finally, you also need to modify the permissions of the next/nfsroot, for later use convenience.
chmod 755/nfsroot

A few more commands are attached:
Restart NFS Service: Sudo/etc/init.d/nfs-kernel-server restart
If prompted cannot register service:RPC:Unable to receive; errno = Connection refused
Need to install Portmap first, then start Sudo/etc/init.d/portmap start

Next is to modify the kernel, support DM9000 NIC

Arch/arm/mach-s5pv210/mach-smdkv210.c

#define S5PV210_PA_DM9000_A (0x88001000)
#define S5PV210_PA_DM9000_F (s5pv210_pa_dm9000_a + 0x300c)
//
static struct resource smdkv210_dm9000_resources[] = {
[0] = {
. Start = S5pv210_pa_dm9000_a,//Address line
. end = S5pv210_pa_dm9000_a + Sz_1k*4-1,
. Flags = Ioresource_mem,
},
[1] = {
. Start = S5pv210_pa_dm9000_f,//Data cable
. end = S5pv210_pa_dm9000_f + Sz_1k*4-1,
. Flags = Ioresource_mem,
},
[2] = {
. Start = Irq_eint (7),
. End = Irq_eint (7),
. Flags = IORESOURCE_IRQ | ioresource_irq_highlevel,//Interrupt resources and high-frequency storage hair Resources
},
};

static struct Dm9000_plat_data Smdkv210_dm9000_platdata = {
. Flags = Dm9000_platf_16bitonly | Dm9000_platf_no_eeprom,//16bit mode
. dev_addr = {0x08, 0x90, 0x00, 0xa0, 0x02, 0x10},//Setting the physical address of the network card
};

static void __init smdkv210_dm9000_init (void)
{
unsigned int tmp;

Gpio_request (S5PV210_MP01 (1), "nCS1");
S3c_gpio_cfgpin (S5PV210_MP01 (1), S3C_GPIO_SFN (2));
Gpio_free (S5PV210_MP01 (1));

TMP = (5 << s5p_srom_bcx__tacc__shift);
__raw_writel (TMP, S5P_SROM_BC1);

TMP = __RAW_READL (S5P_SROM_BW);
TMP &= (s5p_srom_bw__cs_mask << s5p_srom_bw__ncs1__shift);
TMP |= (1 << s5p_srom_bw__ncs1__shift);
__raw_writel (TMP, S5P_SROM_BW);
}

Complete, recompile the kernel

Reprint Modify Linux kernel DM9000 support tiny210 Development Board

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.