Commit Graph

395 Commits (a7d8a74af5796b150ae4d53cd2808b35dce1099d)

Author SHA1 Message Date
Jonas Gorski 5abe49b74e b53: reverse duplex bit meaning for IMP state override register
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44875 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-18 10:44:15 +00:00
John Crispin 02f1a53164 kernel: mtdsplit: add support for FIT image
If this option is enabled, the FIT image format will be detected and
split by the mtdsplit code. Detection is based upon the FDT magic, which
will trigger the parsing and detection of the rootfs, ending-up in the
creation of the 2 new partitions.

Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44792 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-15 19:39:27 +00:00
Jonas Gorski 309b8df125 b53: global config is part of the management page, not the control page
It will now actually enable the mib counters instead of enabling rx/tx for
the first switch port.

Reported-by: Daniel Gonzalez <dgcbueu@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44788 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-15 14:19:28 +00:00
John Crispin 5a24f85217 swconfig: fix build with linux 4.0
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44617 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-06 07:57:03 +00:00
Jonas Gorski aa4d5abef0 b53: fix mmap register read/writes > 32 bit
For bcm63xx integrated switches, broadcom changed the data endianess
to match the system endianess. But this only applies to within one word,
which causes 48/64 bit values to be still split into their "litte endian"
groups.

E.g. 48 bit values (with 5 being the most significant byte) aligned

0x00 ..01  or   0123
0x04 2345       45..

will become

0x00 ..10 resp. 3210
0x04 5432       54..

Likewise for 64 bit values.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44568 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-27 17:40:17 +00:00
Nicolas Thill 7dffd1e756 generic: ocf: irq compat stuff is not needed anymore
Signed-off-by: Nicolas Thill <nico@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44444 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-14 13:53:44 +00:00
Rafał Miłecki 1ac4c84366 kernel: mtdsplit_uimage: fix passed info about buf size
We obviously can't use sizeof(*buf) which is always 1.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44424 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-12 20:13:20 +00:00
Rafał Miłecki 5254ae9391 kernel: mtdsplit_uimage: read more data to match Edimax needs
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44415 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-12 07:50:07 +00:00
Rafał Miłecki 02c8dea914 kernel: mtdsplit_uimage: use separated buffer for reading data
We shouldn't read data directly into the header struct, as some devices
(e.g. Edimax) need more bytes due to some extra header.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44414 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-12 07:44:34 +00:00
Rafał Miłecki 8f970a79ae kernel: mtdsplit_uimage: add parser for Edimax devices
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44413 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-12 07:23:40 +00:00
Rafał Miłecki f43fbf2496 mtdsplit_uimage: more generic header verify function
Some devices have uImage headers after some extra headers (e.g. Edimax
devices). To support such cases our verify callback function should be
allowed to return header offset, not just a boolean value.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44412 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-12 06:57:24 +00:00
John Crispin 237b0069dc kernel: fix compile error inside adm6996.c
drivers/net/phy/adm6996.c:881:5: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'u32' [-Wformat=]

Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44333 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-09 12:09:17 +00:00
John Crispin 1c45ec1021 ar71xx: Revert "added board support for compex wpj558"
This reverts commit f7873071561d82e75ba2dc46433a2982fef8ac6f.

Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44245 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-02 10:32:04 +00:00
John Crispin 560f9d5637 added board support for compex wpj558
Signed-off-by: Christian Mehlis <christian@m3hlis.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44237 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-02 09:00:21 +00:00
John Crispin 93eb47fb3d ar71xx: add Netgear WNR1000v2/WNR1000v2-VC support (#18633)
The board is already supported by OpenWrt. WNR1000v2/WNR1000v2-VC are
pretty much the same as WNR2000v3/WNR612v2, therefore the same
initialization code and flash layout is used.

Signed-off-by: Ștefan Rusu <saltwaterc@gmail.com>
Tested-by: Douglas Fraser <1dsfraser@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44221 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-30 08:06:40 +00:00
Felix Fietkau 7c9617f664 ar8216: prefix mii_xxx functions to avoid kernel namespace pollution
Prefix the exported mii_xxx32 functions with ar8xxx_
to avoid kernel namespace pollution.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44105 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-24 19:42:12 +00:00
Felix Fietkau 4bfb00d02d ar8216: add swconfig attribute to display ARL table on AR8327/AR8337
Add global read-only swconfig attribute "arl_table" to display the
address resolution table.
So far the chip-specific part is implemented for AR8327/AR8337 only
as I don't have the datasheets for the other AR8XXX chips.

Successfully tested on TL-WDR4300 (AR8327rev2)
and TL-WDR4900 (AR8327rev4).

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44104 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-24 19:42:06 +00:00
Felix Fietkau 95e0b242c2 ar8216: decrease page switch wait time
Until a few years ago the page switch wait time was set to msleep(1)
what was changed to usleep_range(1000, 2000) later.

I can not imagine that a low-level operation like switching page
on register level takes so much time.
Most likely the value of 1ms was initially set to check whether
it fixes an issue and then remained w/o further checking whether
also a smaller value would be sufficient.

Now the wait time is set to 5us and I successfully tested this on
AR8327. IMHO 5us should be plenty of time for all supported chips.
However I couldn't test this due to missing hardware.

If other chips should need a longer wait time we can add the
wait time as a parameter to the ar8xxx_chip struct.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44103 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-24 19:42:01 +00:00
Felix Fietkau f04feb3799 ar8216: add link change detection for switch ports
Check for switch port link changes and
- flush ATU in case of a change
- report link change via syslog

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44102 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-24 19:41:55 +00:00
Felix Fietkau ae7769af49 ar8216: fix ATU flushing
The functionality to flush the address translation table contains two bugs
which luckily compensate each other.
1. Just setting the operation is not sufficient to perform the flushing.
   The "active" bit needs to be set to actually trigger an action.
   For the vtu operations this is implemented correctly.
2. ar8xxx_phy_read_status is called every 2s by the phy state machine
   to check for link changes. This would have caused an ATU flush
   every 2s.

Fix the chip-specific ATU flush functions and remove the ATU flush call
from ar8xxx_phy_read_status.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44101 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-24 19:41:51 +00:00
Felix Fietkau 9c995cf6d4 ar8216: display flow control info in swconfig get_link in case of autonegatiation too
The swconfig get_link attribute (at least) on AR8327/AR8337 doesn't
consider the autonegotiated flow control.
AR8327/AR8337 provide the info about autonegotiated rx/tx flow control
in bits 10 and 11 of the port status register.
Use these values to display info about autonegotiated rx/tx flow
control as part of the get_link attribute.

Successfully tested on TL-WDR4900 (AR8327 rev.4) and
TL-WDR4300 (AR8327 rev.2).

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44023 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-18 00:54:06 +00:00
Felix Fietkau cdebbb98d1 ar8216: add 802.3az EEE info to swconfig get_link attribute
AR8327/AR8337 allow to read the result of EEE autonegotiation.
If EEE is autonegotiated between the link partners, display
this as part of the swconfig get_link attribute.

eee100:  100MBit EEE supported by both link partners
eee1000: 1GBit EEE supported by both link partners

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44022 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-18 00:53:59 +00:00
Felix Fietkau f128531b2a ar8216: introduce enable_eee swconfig attribute to control 802.3az EEE per port
Users reported network issues with AR8327 which turned out to be caused
by EEE not working correctly with certain link partners (ticket 14597).
The workaround was to disable EEE on all ports (changeset 41577).

The issue was with certain link partners only, therefore this patch
allows to control usage of EEE per port via swconfig.
Still the default is to initially disable EEE on all ports.

Successfully tested on a TL-WDR4900 (AR8327 rev.4)

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44021 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-18 00:53:53 +00:00
John Crispin fc1b972433 ar8216: introduce ar8xxx_reg_clear complementing ar8xxx_reg_set
Introduce ar8xxx_reg_clear complementing ar8xxx_reg_set.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44004 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-17 14:24:56 +00:00
John Crispin 940391d4d6 ar8216: replace ar8xxx_rmw with ar8xxx_reg_set where appropriate
Replace ar8xxx_rmw with ar8xxx_reg_set where appropriate.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44003 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-17 14:24:47 +00:00
John Crispin a57f35750a ar8216: define all switch_addr structs as const
Define all switch_addr structs as const.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44002 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-17 14:24:40 +00:00
Luka Perkov 1a59c96060 mvsw61xx: track and set per-VLAN port state in STU
Since the driver doesn't know anything about (M)STP
we just hard-set the ports to be enabled if they are
part of the VLAN.

Signed-off-by: Claudio Leite <leitec@staticky.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43938 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-11 17:20:16 +00:00
Luka Perkov 245edbac0b mvsw61xx: clean up and expand register definitions
- eliminate MV_CPUPORT; not necessary since we define
  the CPU port(s) via Device Tree

- add STU and expand VTU operations

- update register names to match those of 88E61xx rather than
  mvswitch's 88E6060

- use more consistent formatting

Signed-off-by: Claudio Leite <leitec@staticky.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43937 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-11 17:20:06 +00:00
Luka Perkov 418bc42665 mvsw61xx: rework chip recognition
Recognizes 88E6171/6172/6176 at the moment.

Signed-off-by: Claudio Leite <leitec@staticky.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43936 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-11 17:20:03 +00:00
Luka Perkov fb93335d7c mvsw6171: rename to 'mvsw61xx'
In preparation for properly supporting switches
beyond the 88E6171.

Signed-off-by: Claudio Leite <leitec@staticky.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43935 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-11 17:19:58 +00:00
Felix Fietkau dbe77b94a0 ar8216: factor out AR8327/AR8337-specific driver code into ar8327.c
Move all AR8327/AR8337-specific driver code into a separate source file
ar8327.c and adjust patches so that ar8327.c is compiled if
CONFIG_AR8216_PHY is set.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43845 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-05 13:03:07 +00:00
Felix Fietkau 724b3b940a ar8216: move definitions from ar8216.c to ar8216.h and introduce ar8327.h
Move several structure definitions and #defines from ar8216.c
to ar8216.h and move AR8327/AR8337 header stuff into a new
header file ar8327.h.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43844 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-05 13:02:57 +00:00
Felix Fietkau 4a188c1880 kernel: add mtd split support for trx images
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43809 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-02 21:53:11 +00:00
Felix Fietkau 34e2c80c28 kernel: add a mtdsplit implementation for tp-link firmware headers
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43806 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-02 21:52:44 +00:00
Felix Fietkau 4ef1398c37 kernel: move mtdsplit files to drivers/mtd/mtdsplit/ to simplify maintenance, unify patches across kernel versions
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43805 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-02 21:52:35 +00:00
Felix Fietkau 62477818bb kernel: remove openwrt micrel.c (replaced by upstream driver)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43762 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-22 14:37:07 +00:00
Luka Perkov 863d6cfaeb mvsw6171: note support for 88E6172 switches
The '6171 and '6172 are similar enough to work
without any changes to the code.

Signed-off-by: Claudio Leite <leitec@staticky.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43753 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-19 22:02:59 +00:00
Felix Fietkau dc0c86e562 ar8216: Inline function ar8xxx_create_mii
Inline function ar8xxx_create_mii.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43743 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-18 11:28:47 +00:00
Felix Fietkau 8402817f65 ar8216: Remove read/write/rmw member functions from ar8xxx_priv
Remove read/write/rmw member functions from ar8xxx_priv

There seems to be no real benefit of the ar8xxx_priv member functions
read/write/rmw as one implementation exists for each of them only.
Especially ar8xxx_mii_rmw is assigned to priv->rmw first and then
mapped to ar8xxx_rmw.
Rename the ar8xxx_mii_.. functions to ar8xxx_.. and use them directly.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43742 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-18 11:28:39 +00:00
Felix Fietkau 5ece5a0506 ar8216: Create helpers mii_read32 / mii_write32 for 32 bit MII ops
Create helpers mii_read32 / mii_write32 for 32 bit MII ops.
Rename r3 variable to page in ar8xxx_mii_write to make it consistent
with the other ar8xxx_mii_xxxx functions.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43741 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-18 11:28:34 +00:00
Felix Fietkau 8cd7a6e0dc ar8216: Factor out chip-specific parameters from ar8xxx_probe_switch
Factor out chip-specific parameters from ar8xxx_probe_switch.
Move the ar8xxx_chip definitions after the swops definitions.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43740 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-18 11:28:28 +00:00
Felix Fietkau ec13524b2c ar8216: remove unused function parameter in ar8327_led_register
Remove unused function parameter in ar8327_led_register.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43739 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-18 11:28:20 +00:00
Felix Fietkau 171f3274a4 ar8216: enable cpu port to receive arp and broadcast frames for ar8236
Signed-off-by: Weijie Gao <hackpascal@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43668 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-12 16:23:29 +00:00
John Crispin 92a10265c4 kernel: add driver for Marvell 88E6171 switch
This is a swconfig driver for the Marvell 88E6171 switch,
which is a 7-port GigE switch with two CPU ports and 64
802.1q VLANs.

Signed-off-by: Claudio Leite <leitec@staticky.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43486 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-01 21:30:35 +00:00
John Crispin 9905c97216 ar8216: factor out reg_port_stats_base parameters to ar8xxx_chip
Factor out reg_port_stats_base parameters to ar8xxx_chip.
Remove related chip_is_... checks.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43471 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-01 16:15:08 +00:00
John Crispin dc7eaeabb7 ar8216: factor out mii_lo_first to ar8xxx_chip
Factor out mii_lo_first to ar8xxx_chip.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43470 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-01 16:15:02 +00:00
John Crispin 6893231bbf ar8216: factor out chip-specific data structures from ar8xxx_priv
Factor out chip-specific data structures from ar8xxx_priv.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43469 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-01 16:14:54 +00:00
John Crispin f7b3266ff9 ar8216: factor out set_mirror_regs to ar8xxx_chip
Factor out set_mirror_regs to ar8xxx_chip.
Remove related chip_is_... checks.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43468 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-01 16:14:43 +00:00
John Crispin 8a609f9af7 ar8216: factor out mib_func to ar8xxx_chip
Factor out mib_func to ar8xxx_chip. Remove related chip_is_... checks.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43467 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-01 16:14:39 +00:00
John Crispin 5a3c2d9aa7 ar8216: factor out info whether switch should be configured at probe stage to ar8xxx_chip
Factor out info whether switch should be configured at probe stage
to ar8xxx_chip. Remove related chip_is_... checks.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43466 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-01 16:14:32 +00:00