Modify

Opened 7 years ago

Closed 7 years ago

Last modified 2 years ago

#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)

trunk-titan.patch (23.8 KB) - added by Xin Zhen (LoneStar) <xlonestar2000@…> 7 years ago.
Patch to the trunk buildroot to support TI Titan
950-cpmac-force-fixed-mdio.patch (439 bytes) - added by Xin Zhen (LoneStar) <xlonestar2000@…> 7 years ago.
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
8.09-titan.patch (22.9 KB) - added by Xin Zhen (LoneStar) <xlonestar2000@…> 7 years ago.
The same patch for 8.09, against the buildroot.
titan-mdio.patch (2.9 KB) - added by Xin Zhen (LoneStar) <xlonestar2000@…> 7 years ago.
Correct the MDIO register address for Titan

Download all attachments as: .zip

Change History (10)

Changed 7 years ago by Xin Zhen (LoneStar) <xlonestar2000@…>

Patch to the trunk buildroot to support TI Titan

Changed 7 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 7 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 7 years ago by Xin Zhen (LoneStar) <xlonestar2000@…>

The same patch for 8.09, against the buildroot.

comment:2 Changed 7 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 7 years ago by florian

  • Owner changed from developers to florian
  • Status changed from new to assigned

comment:4 Changed 7 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 7 years ago by Xin Zhen (LoneStar) <xlonestar2000@…>

Correct the MDIO register address for Titan

comment:5 Changed 7 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 2 years ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.