Commit graph

9628 commits

Author SHA1 Message Date
Gabor Juhos
9c86d268eb generic: ar8216: don't use ethernet device name in register_switch
The switches are accessed via an MDIO bus. Set the alias
to the name of the MDIO bus, and show that in the message
along with the name of the switch switch device.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35560
2013-02-11 16:11:31 +00:00
Gabor Juhos
3f3eba88f6 generic: ar8216: reuse the private data from ar8216_probe
The private data of the switch is already
allocated in ar8216_priv, assign that to
each PHY on the same MDIO bus. Also remove
the redundant code from ar8216_config_init.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35559
2013-02-11 16:11:30 +00:00
Gabor Juhos
1afb759b35 generic: ar8216: use phydev instead of pdev everywhere
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35555
2013-02-11 13:25:43 +00:00
Gabor Juhos
0b1fe07e8e generic: ar8216: use pr_* macros for kernel messages
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35554
2013-02-11 13:14:00 +00:00
Gabor Juhos
eea297884e generic: ar8216: fix PHY features setup
Sujith says:

This commit breaks the WAN port on my AP96 - DHCP fails.
Reverting it fixes the issue.

  commit b67cc3a0cdd02973610d4d5a63226d1c44841e94
  Author: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
  Date:   Fri Feb 8 09:13:18 2013 +0000

    generic: ar8216: simplify phy features setup

    Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

    git-svn-id: svn://svn.openwrt.org/openwrt/trunk@355183c298f89-4303-0410-b956-a3cf2f4a3e73

This change restores the previous behaviour and moves
the code into the ar8216_probe function.

Reported-by: Sujith Manoharan <sujith@msujith.org>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Tested-by: Sujith Manoharan <sujith@msujith.org>

SVN-Revision: 35549
2013-02-11 10:05:35 +00:00
Gabor Juhos
617076c613 generic: ar8216: add ar8xxx_probe_switch helper
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35547
2013-02-10 19:02:01 +00:00
Gabor Juhos
98b13e39ac generic: ar8216: rename ar8xxx_mib_cleanup to ar8xxx_mib_stop
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35546
2013-02-10 18:42:08 +00:00
Gabor Juhos
f97170a720 generic: ar8216: free mib counters from ar8xxx_free
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35545
2013-02-10 18:42:07 +00:00
Gabor Juhos
7924e517af generic: ar8216: add ar8xxx_free helper
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35544
2013-02-10 18:42:05 +00:00
Gabor Juhos
77b3c551c4 generic: ar8216: add ar8xxx_create{,mii} helpers
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35543
2013-02-10 18:42:04 +00:00
Gabor Juhos
5f70b1db2a generic: ar8216: remove redundant phy address check
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35542
2013-02-10 18:38:12 +00:00
Gabor Juhos
14fd37258b generic: ar8216: only set phy_ptr if packet mangling is used
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35541
2013-02-10 18:38:10 +00:00
Gabor Juhos
393163b098 generic: ar8216: add defines for the AR8316 POSTRIP register
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35539
2013-02-10 13:18:48 +00:00
Gabor Juhos
5ed480598d generic: ar8216: don't probe the chip multiple times
It is only needed when the private data is allocated.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35538
2013-02-10 13:05:15 +00:00
Gabor Juhos
774da6c7a4 generic: ar8216: add sanity check to ar8216_probe
Verify that the mdio bus has PHY devices with
a supported PHY ID at address 0-4.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35537
2013-02-10 13:05:14 +00:00
Gabor Juhos
4720c75cf7 generic: ar8216: skip probe on unused PHY addresses
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35536
2013-02-10 13:05:12 +00:00
Jonas Gorski
f07a33afc2 ar71xx: register the micro sd card reader on RB493G
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 35535
2013-02-10 12:31:38 +00:00
Jonas Gorski
eedc3554fe generic: b53: fix reverted error check in probe
b53_switch_detect returns value returned by b53_read8, which is 0 for
success. So fail (and return error) only if b53_switch_detect returned
something else than 0. This fixes supported and advertising being zeros
for MDIO access.

Cc: Jonas Gorski <jogo@openwrt.org>
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 35534
2013-02-10 12:31:36 +00:00
Jonas Gorski
200359a520 bcm63xx: handle huawei nvram layout
Use a different length for calculating the nvram checksum on hauwei
boards. Fixes boot on HW553 and HW556.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 35533
2013-02-10 12:31:31 +00:00
Gabor Juhos
de123c4409 generic: ar8216: move sleep out of the loop
It is enough to sleep once after ANEG is enabled on
all PHYs. This reduces boot time on boards with
AR8316 switch.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35532
2013-02-09 13:26:04 +00:00
Gabor Juhos
6ff973bdda ar71xx: Routerboard 751 Mac Address Offset Fix
We utilize many Routerboard 751's and discovered that our latest batch
of RB751's would not initialize the wireless radio. We have determined
Mikrotik has changed where the mac address was located inside hardconfig.
As such we utilize "routerboot_find_tag" to find the location of the mac
address. We should remove "RB751_MAC_ADDRESS_OFFSET" as it is ambiguous
by machine manufacturing date. The newer batch of RB751's that we received
had a RB751_MAC_ADDRESS_OFFSET 0x10.

Signed-off-by: Davey Hutchison <dhutchison@bluemesh.net>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35519
2013-02-08 09:34:53 +00:00
Gabor Juhos
aa04441904 generic: ar8216: simplify phy features setup
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35518
2013-02-08 09:13:18 +00:00
Gabor Juhos
9c1f95a416 generic: ar8216: don't use mdio bus specific functions in ar8216_id_chip
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35517
2013-02-08 09:13:14 +00:00
Gabor Juhos
5393efc0c7 generic: ar8216: use inline function to convert swdev to ar8216
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35514
2013-02-07 15:18:36 +00:00
Gabor Juhos
b87a1c757d generic: ar8216: add mii_bus field to struct ar8216_priv
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35513
2013-02-07 15:18:35 +00:00
Gabor Juhos
c130a3feac generic: mvswitch: add detach callback
Use the detach callback to disable packet mangling
to avoid possible NULL pointer dereference.

Compile tested only.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35512
2013-02-07 15:18:34 +00:00
Gabor Juhos
4be8c22e74 generic: ar8216: add detach callback
The current code uses the 'remove' callback to disable
packet mangle on the underlying ethernet device.
However the attached_dev is always NULL when the
'remove' callback is called by phylib, and this causes
NULL pointer dereference, like this:

  [  475.300000] CPU 0 Unable to handle kernel paging request at virtual address 000000f0, epc == 801cdcf0, ra == 801c7eac
  [  475.310000] Oops[#1]:
  [  475.310000] Cpu 0
  [  475.310000] $ 0   : 00000000 00000000 00000000 00000001
  [  475.310000] $ 4   : 828dde00 00000005 828dde08 ffffffff
  [  475.310000] $ 8   : 00380081 00380081 82902a40 00000001
  [  475.310000] $12   : 00000037 00370081 00000001 00000000
  [  475.310000] $16   : 82865000 828dde08 828dde00 00000001
  [  475.310000] $20   : 00000080 00460000 00000002 77151448
  [  475.310000] $24   : 00000000 801abfd4
  [  475.310000] $28   : 82cc2000 82cc3d58 0053c3c4 801c7eac
  [  475.310000] Hi    : 00000007
  [  475.310000] Lo    : 00000004
  [  475.310000] epc   : 801cdcf0 ar8216_remove+0x1c/0x94
  [  475.310000]     Tainted: G           O
  [  475.310000] ra    : 801c7eac phy_remove+0x4c/0x6c
  [  475.310000] Status: 1000cc03    KERNEL EXL IE
  [  475.310000] Cause : 00800008
  [  475.310000] BadVA : 000000f0
  [  475.310000] PrId  : 00019750 (MIPS 74Kc)
  [  475.310000] Modules linked in: ath79_wdt ledtrig_usbdev ledtrig_netdev ag71xx(-) nf_nat_irc nf_nat_ftp nf_conntrack_irc nf_conntrack_ft
  p ipt_MASQUERADE iptable_nat xt_nat nf_nat_ipv4 nf_nat pppoext_conntrack xt_CT iptable_raw xt_state nf_conntrack_ipv4 nf_defrag_ipv4 nf_co
  nntrack ehci_hcd pppox ipt_REJECT xt_TCPMSS xt_LOG xt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filter ip_tables xt_tcpu
  dp x_tables ppp_async ppp_generic slhc ath9k(O) ath9k_common(O) ath9k_hw(O) ath(O) mac80211(O) usbcore usb_common nls_base crc_ccitt cfg80
  211(O) compat(O) arc4 crypto_blkcipher aead ledtrig_timer ledtrig_default_on leds_gpio gpio_button_hotplug(O)
  [  475.310000] Process rmmod (pid: 1160, threadinfo=82cc2000, task=83969920, tls=7747c440)
  [  475.310000] Stack : 828dde08 802f5004 802f4680 00000001 828ddf70 801c7eac 802f4680 801ad6d8
          82902940 00000000 828dde08 802f5004 802f4680 801ad770 00000002 80269d94
          00000000 00000001 00000080 828dde08 828dde3c 801ad7fc 82902940 00000000
          83859100 00000000 8384dd2c 8384dd2c 828dde08 801ad230 82902800 00000000
          00000000 001a0041 828dde08 828dde08 802e80e8 801aac44 00000080 00460000
          ...
  [  475.310000] Call Trace:
  [  475.310000] [<801cdcf0>] ar8216_remove+0x1c/0x94
  [  475.310000] [<801c7eac>] phy_remove+0x4c/0x6c
  [  475.310000] [<801ad770>] __device_release_driver+0x6c/0xd0
  [  475.310000] [<801ad7fc>] device_release_driver+0x28/0x40
  [  475.310000] [<801ad230>] bus_remove_device+0xd8/0x10c
  [  475.310000] [<801aac44>] device_del+0x110/0x170
  [  475.310000] [<801aacb8>] device_unregister+0x14/0x28
  [  475.310000] [<801c92b0>] mdiobus_unregister+0x4c/0x70
  [  475.310000] [<82913060>] ag71xx_remove_ar8216_header+0xdc/0x5a8 [ag71xx]
  [  475.310000]
  [  475.310000]
  Code: 1200001c  8c82017c  ac800128 <8c4500f0> 3c03ffdf  3463ffff 00a31824  ac4300f0  ac4000e0

Add a detach callback and disable packet mangling in
that to fix the problem.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35511
2013-02-07 15:18:32 +00:00
Gabor Juhos
fe61fc2d7d generic: add detach callback to struct phy_driver
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35510
2013-02-07 15:18:24 +00:00
Hauke Mehrtens
07db9e8eab brcm47xx: fix name of kmod-ocf-ubsec-ssb
This also removes kmod-ocf, because kmod-crypto-ocf is automatically selected by kmod-ocf-ubsec-ssb.

Thank you Manuel Munz <freifunk@somakoma.de> for the patch.

SVN-Revision: 35509
2013-02-06 22:51:25 +00:00
Hauke Mehrtens
a52832164b brcm47xx: bgmac: make it possible to set the devices into promisc mode when it is already up
This fixes #12927.

SVN-Revision: 35507
2013-02-06 14:57:00 +00:00
Florian Fainelli
6b0da6db6a remove support for 3.6 kernel
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 35506
2013-02-05 22:36:54 +00:00
Florian Fainelli
e22926a46b make default version 3.7.6
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 35505
2013-02-05 22:36:50 +00:00
Florian Fainelli
57803a98ec remove superfluous calls to /lib/brcm63xx.sh
The first preinit script 03_do_brcm63xx.sh does the right job of
exporting variables for the other subsequent preinit scripts to use
them.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 35504
2013-02-05 22:25:30 +00:00
Florian Fainelli
84d306d23c remove references to the old switch driver
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 35503
2013-02-05 22:25:19 +00:00
Mirko Vogt
ec19a23bae fix trx checksum after first boot and add led/button definitions for boards RTA770BW and RTA770W
SVN-Revision: 35501
2013-02-05 14:57:43 +00:00
Mirko Vogt
f460388ce2 add support for board named RTA770W
Actually this board is the very same as the rta770bw,
where the additional 'b' within the name just
indicates 'Annex B'. The ADSL Modem itself is able
to handle both, Annex A as well as Annex B -
the loaded firmware makes the only difference

SVN-Revision: 35500
2013-02-05 14:57:40 +00:00
Gabor Juhos
395d0bdc1f generic: ar8216: clear driver specific data pointer in phy_device
This is needed to avoid a NULL pointer dereference:

  [   19.525270] Unable to handle kernel paging request for data at address 0x00000018
  [   19.532750] Faulting instruction address: 0xc016e104
  [   19.537714] Oops: Kernel access of bad area, sig: 11 [#1]
  [   19.543102] P1010 RDB
  [   19.545365] Modules linked in: booke_wdt nf_nat_irc nf_nat_ftp nf_conntrack_irc nf_conntrack_ftp ipt_MASQUERADE iptable_nat xt_nat d
  [   19.590725] NIP: c016e104 LR: c0171490 CTR: 00000000
  [   19.595681] REGS: c4bc3c10 TRAP: 0300   Tainted: G        W  O (3.7.6)
  [   19.602284] MSR: 00029000 <CE,EE,ME>  CR: 82002022  XER: 20000000
  [   19.608381] DEAR: 00000018, ESR: 00000000
  [   19.612382] TASK = c4cd9c80[2070] 'ifconfig' THREAD: c4bc2000
  GPR00: 00000001 c4bc3cc0 c4cd9c80 00000000 c7811000 00000000 00000000 0000e8ec
  GPR08: 0000e8eb 00000000 00029000 00000001 00000000 100801f8 1005c51c 1005c514
  GPR16: 1005c468 1005c54c 1005c258 1005c530 10060000 00000000 c7811000 ffff8914
  GPR24: c7815030 c793e400 10063adb 00000000 c7811000 c045594c c78ca600 c7815000
  [   19.646352] NIP [c016e104] register_switch+0x98/0x2d0
  [   19.651397] LR [c0171490] ar8216_config_init+0x2d8/0x3f4
  [   19.656697] Call Trace:
  [   19.659138] [c4bc3cc0] [c0170490] ar8216_mii_read+0x64/0xc4 (unreliable)
  [   19.665835] [c4bc3d00] [c0171490] ar8216_config_init+0x2d8/0x3f4
  [   19.671835] [c4bc3d20] [c016cf8c] phy_init_hw+0x50/0x6c
  [   19.677053] [c4bc3d30] [c016d078] phy_attach_direct+0xd0/0xf8
  [   19.682793] [c4bc3d50] [c016d154] phy_connect_direct+0x24/0x68
  [   19.688621] [c4bc3d70] [c0183b70] of_phy_connect+0x48/0x6c
  [   19.694102] [c4bc3d90] [c0175aac] gfar_enet_open+0x254/0x3d8
  [   19.699755] [c4bc3db0] [c019acc4] __dev_open+0xc0/0x120
  [   19.704975] [c4bc3dd0] [c019af98] __dev_change_flags+0xd4/0x15c
  [   19.710888] [c4bc3df0] [c019b0d4] dev_change_flags+0x1c/0x60
  [   19.716544] [c4bc3e10] [c01ebb94] devinet_ioctl+0x290/0x690
  [   19.722111] [c4bc3e70] [c01ec8d4] inet_ioctl+0x88/0xbc
  [   19.727245] [c4bc3e80] [c0186b98] sock_ioctl+0x258/0x294
  [   19.732551] [c4bc3ea0] [c009c00c] do_vfs_ioctl+0x6a4/0x728
  [   19.738031] [c4bc3f10] [c009c0d4] sys_ioctl+0x44/0x70
  [   19.743077] [c4bc3f40] [c000c74c] ret_from_syscall+0x0/0x3c
  [   19.748646] --- Exception: c01 at 0x48091b34
  [   19.748646]     LR = 0x480e4b64
  [   19.756033] Instruction dump:
  [   19.758991] 2f830000 907f0050 3860fff4 419e021c 837f0000 38000000 901f0038 901f0040
  [   19.766744] 901f003c 7f600034 5400d97e 0f000000 <801b0018> 2f800000 40be0010 801b001c

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35497
2013-02-05 08:39:26 +00:00
Gabor Juhos
2e7f38c243 generic: ar8216: unregister switch on error path
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35496
2013-02-05 08:39:24 +00:00
Gabor Juhos
1bb8ad6050 mpc85xx: enable GPIO sysfs interface
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35495
2013-02-05 07:48:02 +00:00
Gabor Juhos
6ba265a573 mpc85xx: enable Freescale eSPI driver and m25p80 support
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35494
2013-02-05 07:48:01 +00:00
Gabor Juhos
eea43ffd33 mpc85xx: sync kernel config
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35493
2013-02-05 07:47:59 +00:00
Hauke Mehrtens
8ba8225686 brcm47xx: fix detection of Asus RT-N16
This fixes #12936.

SVN-Revision: 35492
2013-02-04 22:49:05 +00:00
Hauke Mehrtens
a1e3c0ca46 Add Failsafe support for Linksys E3000V1 / WRT610NV2
Adds specification of the correct cpu_port for Linksys E3000V1 and WRT610NV2
in /lib/preinit/05_init_interfaces_brcm.  The list of devices will need to
be expanded.  Is there a way to determine the correct cpu_port to use in a
generic sense; for instance, if "/proc/switch/eth0/port/8" exists, or if
"/sys/class/net/eth0/device/driver/module/drivers/bcma:bgmac" exists?  Could
a similar method be used in "/etc/init.d/netconfig"?

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 35491
2013-02-04 22:40:57 +00:00
Hauke Mehrtens
c2198aba32 brcm47xx: Fix switch config on 4716/53115 devices
Signed-off-by: Jonathan McCrohan <jmccrohan@gmail.com>

SVN-Revision: 35490
2013-02-04 22:38:37 +00:00
Gabor Juhos
b97aee1ee8 coldfire: R.I.P.
The target still uses 2.6.38. The support of that
kernel version has been removed ~9 months ago.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35489
2013-02-04 15:23:10 +00:00
Gabor Juhos
c41002971a leon: R.I.P.
It is broken since ~9 months and nobody takes care of that.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35488
2013-02-04 15:23:08 +00:00
Gabor Juhos
539e0b5b84 imx21: R.I.P.
It is broken since ~22 months and nobody takes care of that.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35487
2013-02-04 15:23:07 +00:00
Gabor Juhos
e7dee4ea87 octeon: R.I.P.
It is broken since ~8 months and nobody takes care of that.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35486
2013-02-04 15:23:05 +00:00
Gabor Juhos
da44b916cf omap35xx: R.I.P.
It is broken since ~22 months and nobody takes care of that.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35485
2013-02-04 15:23:04 +00:00
Jonas Gorski
8506964e6d bcm63xx: add support for linux 3.8
Based on 3.8-rc6

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 35482
2013-02-04 10:19:55 +00:00