#6185 closed enhancement (fixed)
Support for WRTP54G (Titan)
Reported by: | xlonestar2000@… | Owned by: | florian |
---|---|---|---|
Priority: | low | Milestone: | Barrier Breaker 14.07 |
Component: | kernel | Version: | Trunk |
Keywords: | wrtp54g titan | Cc: |
Description
The patches added support for the TI Titan chip which is used in WRTP54G.
The patch is against the buildroot of the trunk (18447), appends support for Titan to the AR7 target.
To use it, checkout the trunk, patch it with this, make menuconfig and choose the AR7 target. make.
The patched kernel boots fine, with both of the ethernet and the wifi recognized and initialized.
Unfortunately, the two ethernet of WRTP54G don't work when the cpmac is connected to cpmac_mii as the latest code in trunk does. They only work when connect with the fixed mdio bus "0". Since I can't explain why, a separate patch is attached to do this for people who want to test this.
The patched system boot log:
Basic POST completed... Success. Last reset cause: Software reset (memory controller also reset) PSPBoot1.3 rev: 1.3.3.11 ODM rev:1.5 (c) Copyright 2002-2005 Texas Instruments, Inc. All Rights Reserved. Press ESC for monitor... 1 (psbl) Booting... Linux version 2.6.30.9 (xinzhen@avxhome) (collect2: ld returned 1 exit status) #1 Thu Nov 19 21:13:37 CST 2009 console [early0] enabled CPU revision is: 00018448 (MIPS 4KEc) TI AR7 (TNETV1050), ID: 0x0007, Revision: 0x02 Determined physical RAM map: memory: 01000000 @ 14000000 (usable) Initrd not found or empty - disabling initrd Zone PFN ranges: Normal 0x00014000 -> 0x00015000 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0x00014000 -> 0x00015000 Built 1 zonelists in Zone order, mobility grouping off. Total pages: 4064 Kernel command line: rootfstype=squashfs,jffs2 console=ttyS0,115200n8 Primary instruction cache 16kB, VIPT, 4-way, linesize 16 bytes. Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 16 bytes NR_IRQS:256 PID hash table entries: 64 (order: 6, 256 bytes) Dentry cache hash table entries: 2048 (order: 1, 8192 bytes) Inode-cache hash table entries: 1024 (order: 0, 4096 bytes) Memory: 12628k/16384k available (2042k kernel code, 3756k reserved, 327k data, 124k init, 0k highmem) Calibrating delay loop... 149.50 BogoMIPS (lpj=747520) Mount-cache hash table entries: 512 net_namespace: 528 bytes NET: Registered protocol family 16 bio: create slab <bio-0> at 0 NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 512 (order: 0, 4096 bytes) TCP bind hash table entries: 512 (order: -1, 2048 bytes) TCP: Hash tables configured (established 512 bind 512) TCP reno registered NET: Registered protocol family 1 squashfs: version 4.0 (2009/01/31) Phillip Lougher Registering mini_fo version $Id$ JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. msgmni has been set to 24 io scheduler noop registered io scheduler deadline registered (default) Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled serial8250: ttyS0 at MMIO 0x8610e00 (irq = 15) is a TI-AR7 console handover: boot [early0] -> real [ttyS0] serial8250: ttyS1 at MMIO 0x8610f00 (irq = 16) is a TI-AR7 Fixed MDIO Bus: probed cpmac-mii: probed eth0 (): not using net_device_ops yet cpmac: device eth0 (regs: 08640800, irq: 41, phy: 0:01, mac: 00:13:10:a3:54:10) eth1 (): not using net_device_ops yet cpmac: device eth1 (regs: 08640000, irq: 27, phy: 0:00, mac: 00:13:10:a3:54:11) physmap platform flash device: 00800000 at 10000000 physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank Amd/Fujitsu Extended Query Table at 0x0040 number of CFI chips: 1 cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. cmdlinepart partition parsing not available RedBoot partition parsing not available 4 ar7part partitions found on MTD device physmap-flash.0 Creating 4 MTD partitions on "physmap-flash.0": 0x000000000000-0x000000010000 : "loader" 0x000000010000-0x000000020000 : "config" 0x000000030000-0x000000800000 : "linux" 0x000000100000-0x000000800000 : "rootfs" mtd: partition "rootfs" set to be root filesystem mtd: partition "rootfs_data" created automatically, ofs=230000, len=5D0000 0x000000230000-0x000000800000 : "rootfs_data" ar7_wdt: watchdog disabled in hardware (bootcr=0x2964281) Registered led device: status vlynq0: regs 0x08611c00, irq 33, mem 0x0c000000 Found a VLYNQ device: 00000009 vlynq1: regs 0x08611300, irq 34, mem 0x40000000 TCP westwood registered NET: Registered protocol family 17 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com> All bugs added by David S. Miller <davem@redhat.com> VFS: Mounted root (squashfs filesystem) readonly on device 31:3. Freeing unused kernel memory: 124k freed Please be patient, while OpenWrt loads ... - preinit - Press CTRL-C for failsafe jffs2 not ready yet; using ramdisk mini_fo: using base directory: / mini_fo: using storage directory: /tmp/root - init - Please press Enter to activate this console. device eth0 entered promiscuous mode br-lan: port 1(eth0) entering forwarding state PHY: 0:01 - Link is Up - 100/Full NET: Registered protocol family 8 NET: Registered protocol family 20 PPP generic driver version 2.4.2 ip_tables: (C) 2000-2006 Netfilter Core Team NET: Registered protocol family 24 nf_conntrack version 0.5.0 (256 buckets, 1024 max) acx: this driver is still EXPERIMENTAL acx: reading README file and/or Craig's HOWTO is recommended, visit http://acx100.sf.net in case of further questions/discussion acx: compiled to use 32bit I/O access. I/O timing issues might occur, such as non-working firmware upload. Report them acx: running on a little-endian CPU acx: PCI/VLYNQ module v0.3.37 initialized, waiting for cards to probe... Driver found for VLYNQ device: 00000009 acx: found TI TNETW1130-based wireless network card at <NULL>, irq:80, phymem:0xc000000, mem:0xac000000 initial debug setting is 0x000A using IRQ 80 acx: need to load firmware for acx111 chipset with radio ID 16, please provide via firmware hotplug: acx: either one file only (<c>ombined firmware image file, radio-specific) or two files (radio-less base image file *plus* separate <r>adio-specific extension file) requesting firmware image 'tiacx111c16' acx_vlynq vlynq0: firmware: requesting tiacx111c16 acx_write_fw (main/combined): 0 acx_validate_fw (main/combined): 0 initializing max packet templates dump queue head (from card): len: 24 tx_memory_block_address: 19E40 rx_memory_block_address: 15240 tx1_queue address: 14774 rx1_queue address: 14434 NVS_vendor_offs:01CD probe_delay:200 eof_memory:1114112 CCAModes:04 Diversity:01 ShortPreOpt:01 PBCC:01 ChanAgil:00 PHY:05 Temp:01 AntennaID:00 Len:02 Data:01 02 PowerLevelID:01 Len:02 Data:001E 000A DataRatesID:02 Len:05 Data:02 04 11 22 44 DomainID:03 Len:06 Data:30 20 30 31 32 41 ProductID:04 Len:09 Data:TI ACX100 ManufacturerID:05 Len:07 Data:TI Test get_mask 0x00004182, set_mask 0x00000000 don't know how to get sensitivity for radio type 0x16 got sensitivity value 0 got antenna value 0x4A got regulatory domain 0x30 get_mask 0x00000000, set_mask 0x00000000 - after update new ratevector: 82 84 0B 0C 12 16 18 24 2C 30 48 60 6C setting RXconfig to 2010:0FDD acx: === chipset TNETW1130, radio type 0x16 (Radia), form factor 0x01 ((mini-)PCI / CardBus), EEPROM version 0x05: uploaded firmware 'Rev 2.3.1.31' === creating /proc entry driver/acx_wlan%d creating /proc entry driver/acx_wlan%d_diag creating /proc entry driver/acx_wlan%d_eeprom creating /proc entry driver/acx_wlan%d_phy acx v0.3.37: net device wlan%d, driver compiled against wireless extensions 22 and Linux 2.6.30.9 using IRQ 80 wlan0 (acx_vlynq): not using net_device_ops yet
Attachments (4)
Change History (10)
Changed 8 years ago by Xin Zhen (LoneStar) <xlonestar2000@…>
Changed 8 years ago by Xin Zhen (LoneStar) <xlonestar2000@…>
This patch is a hack that forces the two cpmac connect to Fixed Mdio Bus. Put it into target/linux/ar7/patches-2.6.30/ before building
comment:1 Changed 8 years ago by Xin Zhen (LoneStar) <xlonestar2000@…>
Here is the same patch but for kamikaze 8.09 branch, made by gotnone, DagMoller and others on #wrtp54g of freenode.
Changed 8 years ago by Xin Zhen (LoneStar) <xlonestar2000@…>
The same patch for 8.09, against the buildroot.
comment:2 Changed 8 years ago by Xin Zhen (LoneStar) <xlonestar2000@…>
8.09 boot log, in case someone want it.
Booting... Linux version 2.6.26.8 (xinzhen@avxhome) (gcc version 4.1.2) #1 Fri Nov 20 04:18:34 CST 2009 console [early0] enabled CPU revision is: 00018448 (MIPS 4KEc) TI AR7 (TNETV1050), ID: 0x0007, Revision: 0x02 Determined physical RAM map: memory: 01000000 @ 14000000 (usable) Initrd not found or empty - disabling initrd Zone PFN ranges: Normal 81920 -> 86016 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 81920 -> 86016 Built 1 zonelists in Zone order, mobility grouping off. Total pages: 4064 Kernel command line: init=/etc/preinit rootfstype=squashfs,jffs2, console=ttyS0,115200n8 Primary instruction cache 16kB, VIPT, 4-way, linesize 16 bytes. Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 16 bytes PID hash table entries: 64 (order: 6, 256 bytes) Dentry cache hash table entries: 2048 (order: 1, 8192 bytes) Inode-cache hash table entries: 1024 (order: 0, 4096 bytes) Memory: 12636k/16384k available (1937k kernel code, 3748k reserved, 409k data, 120k init, 0k highmem) SLUB: Genslabs=6, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 Mount-cache hash table entries: 512 net_namespace: 484 bytes NET: Registered protocol family 16 NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 512 (order: 0, 4096 bytes) TCP bind hash table entries: 512 (order: -1, 2048 bytes) TCP: Hash tables configured (established 512 bind 512) TCP reno registered NET: Registered protocol family 1 squashfs: version 3.0 (2006/03/15) Phillip Lougher Registering mini_fo version $Id$ JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. msgmni has been set to 24 io scheduler noop registered io scheduler deadline registered (default) Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled serial8250: ttyS0 at MMIO 0x8610e00 (irq = 15) is a TI-AR7 console handover: boot [early0] -> real [ttyS0] serial8250: ttyS1 at MMIO 0x8610f00 (irq = 16) is a TI-AR7 Fixed MDIO Bus: probed cpmac-mii: probed cpmac: device eth0 (regs: 08640800, irq: 41, phy: , mac: 00:13:10:a3:54:10) cpmac: device eth1 (regs: 08640000, irq: 27, phy: , mac: 00:13:10:a3:54:11) physmap platform flash device: 00800000 at 10000000 physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank Amd/Fujitsu Extended Query Table at 0x0040 number of CFI chips: 1 cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. cmdlinepart partition parsing not available RedBoot partition parsing not available 4 ar7part partitions found on MTD device physmap-flash.0 Creating 4 MTD partitions on "physmap-flash.0": 0x00000000-0x00010000 : "loader" 0x00010000-0x00020000 : "config" 0x00030000-0x00800000 : "linux" 0x00100000-0x00800000 : "rootfs" mtd: partition "rootfs" set to be root filesystem mtd: partition "rootfs_data" created automatically, ofs=220000, len=5E0000 0x00220000-0x00800000 : "rootfs_data" ar7_wdt: timer margin 59 seconds (prescale 65535, change 57180, freq 62500000) Registered led device: status vlynq0: regs 0x08611c00, irq 33, mem 0x0c000000 Found a VLYNQ device: 00000009 vlynq1: regs 0x08611300, irq 34, mem 0x40000000 TCP vegas registered NET: Registered protocol family 17 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com> All bugs added by David S. Miller <davem@redhat.com> VFS: Mounted root (squashfs filesystem) readonly. Freeing unused kernel memory: 120k freed Please be patient, while OpenWrt loads ... Algorithmics/MIPS FPU Emulator v1.5 - preinit - Press CTRL-C for failsafe jffs2 not ready yet; using ramdisk mini_fo: using base directory: / mini_fo: using storage directory: /tmp/root - init - Please press Enter to activate this console. br-lan: Dropping NETIF_F_UFO since no NETIF_F_HW_CSUM feature. device eth0 entered promiscuous mode br-lan: port 1(eth0) entering learning state br-lan: topology change detected, propagating br-lan: port 1(eth0) entering forwarding state PHY: 0:1f - Link is Down NET: Registered protocol family 8 NET: Registered protocol family 20 PPP generic driver version 2.4.2 ip_tables: (C) 2000-2006 Netfilter Core Team nf_conntrack version 0.5.0 (1024 buckets, 4096 max) acx: this driver is still EXPERIMENTAL acx: reading README file and/or Craig's HOWTO is recommended, visit http://acx100.sf.net in case of further questions/discussion acx: compiled to use 32bit I/O access. I/O timing issues might occur, such as non-working firmware upload. Report them acx: running on a little-endian CPU acx: PCI/VLYNQ module v0.3.37 initialized, waiting for cards to probe... Driver found for VLYNQ device: 00000009 acx: found TI TNETW1130-based wireless network card at vlynq0, irq:80, phymem:0xc000000, mem:0xac000000 initial debug setting is 0x000A using IRQ 80 acx: need to load firmware for acx111 chipset with radio ID 16, please provide via firmware hotplug: acx: either one file only (<c>ombined firmware image file, radio-specific) or two files (radio-less base image file *plus* separate <r>adio-specific extension file) requesting firmware image 'tiacx111c16' firmware: requesting tiacx111c16 acx_write_fw (main/combined): 0 acx_validate_fw (main/combined): 0 initializing max packet templates dump queue head (from card): len: 24 tx_memory_block_address: 19E40 rx_memory_block_address: 15240 tx1_queue address: 14774 rx1_queue address: 14434 NVS_vendor_offs:01CD probe_delay:200 eof_memory:1114112 CCAModes:04 Diversity:01 ShortPreOpt:01 PBCC:01 ChanAgil:00 PHY:05 Temp:01 AntennaID:00 Len:02 Data:01 02 PowerLevelID:01 Len:02 Data:001E 000A DataRatesID:02 Len:05 Data:02 04 11 22 44 DomainID:03 Len:06 Data:30 20 30 31 32 41 ProductID:04 Len:09 Data:TI ACX100 ManufacturerID:05 Len:07 Data:TI Test get_mask 0x00004182, set_mask 0x00000000 don't know how to get sensitivity for radio type 0x16 got sensitivity value 0 got antenna value 0x4A got regulatory domain 0x30 get_mask 0x00000000, set_mask 0x00000000 - after update new ratevector: 82 84 0B 0C 12 16 18 24 2C 30 48 60 6C setting RXconfig to 2010:0FDD acx: === chipset TNETW1130, radio type 0x16 (Radia), form factor 0x01 ((mini-)PCI / CardBus), EEPROM version 0x05: uploaded firmware 'Rev 2.3.1.31' === creating /proc entry driver/acx_wlan%d creating /proc entry driver/acx_wlan%d_diag creating /proc entry driver/acx_wlan%d_eeprom creating /proc entry driver/acx_wlan%d_phy acx v0.3.37: net device wlan%d, driver compiled against wireless extensions 22 and Linux 2.6.26.8 using IRQ 80
comment:3 Changed 8 years ago by florian
- Owner changed from developers to florian
- Status changed from new to assigned
comment:4 Changed 8 years ago by florian
- Resolution set to fixed
- Status changed from assigned to closed
Applied in r19022, I did not add 950-cpmac-force-fixed-mdio.patch as it would break other switches, so we will need to find a proper solution for this.
Changed 8 years ago by Xin Zhen (LoneStar) <xlonestar2000@…>
Correct the MDIO register address for Titan
comment:5 Changed 8 years ago by Xin Zhen (LoneStar) <xlonestar2000@…>
OK, I made progress. I found out why the cpmac-mii not working, the MDIO address of Titan changes from AR7. I attached a patch to update that address for trunk.
WAN now works, however LAN ports still not working. I guess that is because LAN isn't connected to MDIO bus, but to an external 4-ports switch. I haven't found a proper way to indicate the driver whether it is MDIO bus or external. Please review the patch, florian, thanks.
comment:6 Changed 4 years ago by jow
- Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07
Milestone Attitude Adjustment 12.09 deleted
Patch to the trunk buildroot to support TI Titan