Hello, Steven, I realized that and made change, I use reg-shift of 1 which u-boot uses and works for the CF.
local...@f0010100 { #address-cells = <2>; #size-cells = <1>; compatible = "fsl,mpc8248-localbus", "fsl,pq2-localbus", "simple-bus"; reg = <0xf0010100 0x40>; ranges = <0x3 0x0 0x30000000 0x10000 0x4 0x0 0x40000000 0x10000>; p...@3,0 { compatible = "fsl,tr5000v2-pata", "ata-generic"; reg = <0x3 0x0 0x10 0x4 0xC 0x2>; reg-shift = <1>; pio-mode = <6>; // interrupts = <0x19 0x8>; // interrupt-parent = <&PIC>; }; U-Boot (1.3.4) shows this: bus 0: OK Device 0: Model: SanDisk SDCFJ-128 Firm: HDX 2.27 Ser#: 116904C2505X4026 Type: Removable Hard Disk Capacity: 122.5 MB = 0.1 GB (250880 x 512) This is the console output after setting reg = <0x3 0x0 0x10 0x4 0xC 0x2>: ata_host_alloc: ENTER ata_port_alloc: ENTER __ata_port_freeze: ata4294967295 port frozen scsi0 : pata_platform ata1: PATA max PIO6 no IRQ, using PIO polling mmio cmd 0x30000000 ctl 0x4000000c ata_host_register: probe begin ata_port_schedule_eh: port EH scheduled ata_scsi_error: ENTER ata_port_flush_task: ENTER ata_eh_link_autopsy: ENTER ata_eh_recover: ENTER __ata_port_freeze: ata1 port frozen ata_sff_softreset: ENTER ata_sff_softreset: about to softreset, devmask=0 ata_bus_softreset: ata1: bus reset via SRST ata_sff_softreset: EXIT, classes[0]=9 [1]=9 ata_eh_thaw_port: ata1 port thawed ata_std_postreset: ENTER ata_std_postreset: EXIT ata_sff_postreset: EXIT, no device ata_eh_revalidate_and_attach: ENTER ata_eh_recover: EXIT, rc=0 ata_scsi_error: EXIT ata_host_register: host probe begin TCP cubic registered NET: Registered protocol family 10 IPv6 over IPv4 tunneling driver NET: Registered protocol family 17 RPC: Registered udp transport module. RPC: Registered tcp transport module. ics1893_config_init() successful ADDRCONF(NETDEV_UP): eth0: link is not ready ics1893_config_init() successful IP-Config: Complete: device=eth0, addr=172.20.16.150, mask=255.255.255.0, gw=172.20.16.1, host=tr5000v2, domain=, nis-domain=(none), bootserver=10.15.34.196, rootserver=10.15.34.196, rootpath= Looking up port of RPC 100003/2 on 10.15.34.196 ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready Looking up port of RPC 100005/1 on 10.15.34.196 VFS: Mounted root (nfs filesystem). Freeing unused kernel memory: 164k init ### Application running ... The San Disk CF is still not found. Any more insights/ideas? Thank you and I appreciate your help! Lixin -----Original Message----- From: Steven A. Falco [mailto:sfa...@harris.com] Sent: Monday, February 02, 2009 10:00 AM To: Lixin Yao Cc: linuxppc-dev@ozlabs.org Subject: Re: Can not get PATA to work for Compact Flash with 2.6.28 kernel Lixin Yao wrote: > > > I use a San Disk compact flash (CF) card on a board with MPC8248 > processor. The CF is connected to data and address bus of the processor > and operates in TRUE IDE mode. The registers are memory mapped. I can > read the file system on the CF in u-boot (1.3.4). U-boot can identify > the CF and mount file system correctly. > > The hardware is known good hardware. > > I use 2.6.28 kernel and configured support for PATA for the CF. The second register set does not start at register 0. It starts at register 6. We are using 1 chip select from the processor, and generate two chip selects to the CF that are 0x80 apart (on a sequoia board). So here is what I am using on the modified sequoia board. Note the 0x00000098 - you might think it should be 0x00000080 as per the discussion above, but because the second register set starts at 6, you have to build that into the address. p...@1,0 { compatible = "harris,hydra_temp-pata", "ata-generic"; bank-width = <2>; reg = <0x00000001 0x00000000 0x00000020 0x00000001 0x00000098 0x00000004>; reg-shift = <2>; pio-mode = <6>; interrupt-parent = <&UIC0>; interrupts = <0x1b 0x4>; }; Steve _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev