- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This doesn't seem to work. Drivers load, but there doesn't appear to be any probing for the device. Seem a lot of code is involved. Is this working for anyone?
I have older Nios 2, 2C35 proto board from Altera, not DE2.
cf: ata@0x1000080 {
compatible = "ALTR,cf-10.1","ALTR,cf-1.0";
reg = < 0x1000000 0x10 0x1000080 0x40>;
interrupt-parent = < &cpu >;
interrupts = < 14 15 >;
}; //end ata (cf)
Linux version 3.0.0-rc7-01121-g1bbc9ab-dirty (Nate@NateFedora) (gcc version 4.1.2)# 57 Fri Jul 22 16:37:01 MDT 2011
bootconsole enabled
early_console initialized at 0xe1000010
On node 0 totalpages: 8192
free_area_init_node: node 0, pgdat c657b3d4, node_mem_map c6596800
DMA zone: 64 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 8128 pages, LIFO batch:0
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: 0
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128
Kernel command line:
PID hash table entries: 128 (order: -3, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory available: 26728k/5694k RAM (2245k kernel code, 3449k data)
NR_IRQS:32
Calibrating delay loop... 40.83 BogoMIPS (lpj=81664)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
NET: Registered protocol family 16
bio: create slab <bio-0> at 0
SCSI subsystem initialized
libata version 3.00 loaded.
Switching to clocksource timer
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
msgmni has been set to 52
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
ttyAL0 at MMIO 0x4000060 (irq = 5) is a Altera UART
ttyAL1 at MMIO 0x4000080 (irq = 4) is a Altera UART
ttyJ0 at MMIO 0x1000010 (irq = 1) is a Altera JTAG UART
console enabled, bootconsole disabled
console enabled, bootconsole disabled
smc91x.c: v1.1, sep 22 2004 by Nicolas Pitre <nico@fluxnic.net>
eth0: SMC91C11xFD (rev 2) at e1020300 IRQ 3
eth0: Ethernet addr: 00:07:ed:ff:ab:01
eth0: PHY LAN83C183 (LAN91C111 Internal)
mousedev: PS/2 mouse device common for all mice
TCP cubic registered
NET: Registered protocol family 17
Freeing unused kernel memory: 2832k freed (0xc6233000 - 0xc64f7000)
Welcome to
____ _ _
/ __| ||_|
_ _| | | | _ ____ _ _ _ _
| | | | | | || | _ \| | | |\ \/ /
| |_| | |__| || | | | | |_| |/
| ___\____|_||_|_| |_|\____|\_/\_/
| |
|_|
For further information check:
http://www.uclinux.org/
BusyBox v1.18.4 (2011-07-22 15:00:52 MDT) hush - the humble shell
Enter 'help' for a list of built-in commands.
root:/>
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It seems the compatible string in the driver does not match the one generated by sopc2dts. Care to pull from unstable-nios2mmu and see if it works for you now? Unfortunately I do not have a device to test this myself.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the reply.
The wiki suggests "Generic platform device PATA support", however it appears you modified the pata_altera_cf.c file, so I unchecked Generic and checked the Altera CF driver in the config. It probes now, but I get error:
pata_altera_cf 1000000.ata: IDE region too small
Finding this in the pata_altera_cf.c file, I added some printk statements:
printk("resource_type(ide_mem_res) = 0x%X ?= 0x%X\n", resource_type(ide_mem_res), IORESOURCE_MEM);
printk("resource_size(ide_mem_res) = 0x%X ?= 0x%X\n", resource_size(ide_mem_res), ALTCF_IDE_LEN);
printk("resource_type(ide_irq_res) = 0x%X ?= 0x%X\n", resource_type(ide_irq_res), IORESOURCE_IRQ);
printk("resource_type(cfc_mem_res) = 0x%X ?= 0x%X\n", resource_type(cfc_mem_res), IORESOURCE_MEM);
printk("resource_size(cfc_mem_res) = 0x%X ?= 0x%X\n", resource_size(cfc_mem_res), ALTCF_CFC_LEN);
I got the following at boot:
resource_type(ide_mem_res) = 0x200 ?= 0x200
resource_size(ide_mem_res) = 0x10 ?= 0x40
resource_type(ide_irq_res) = 0x400 ?= 0x400
resource_type(cfc_mem_res) = 0x200 ?= 0x200
resource_size(cfc_mem_res) = 0x40 ?= 0x10
The second line is the problem, as code reads:
if (resource_size(ide_mem_res) < ALTCF_IDE_LEN) {
dev_err(dev, "IDE region too small\n");
return rc;
}
...which is all I had time for today. Is the .dts compiler correct? Recall my .dts file for the CF:
cf: ata@0x1000080 {
compatible = "ALTR,cf-10.1","ALTR,cf-1.0";
reg = < 0x1000000 0x10 0x1000080 0x40>;
interrupt-parent = < &cpu >;
interrupts = < 14 15 >;
}; //end ata (cf)
I am using pipeline bridges, so addressing is not absolute..? Thanks,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Okay, got back to this, this AM, and it is now working.
It appears that control and ide memory and IRQ's get swapped somewhere. I swapped them back in the dts file, as below: The "before" is shown in prior posts above: After swapping here:
cf: ata@0x1000080 {
compatible = "ALTR,cf-10.1","ALTR,cf-1.0";
reg = < 0x1000080 0x40 0x1000000 0x10 >;
interrupt-parent = < &cpu >;
interrupts = < 15 14 >;
}; //end ata (cf)
Thanks,
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page