1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-27 05:35:32 +02:00
Commit Graph

17597 Commits

Author SHA1 Message Date
juhosg
08171f79fc ip17xx: Keep all state locally
Instead of reading the hardware state every time we want to inspect it or
to modify it, maintain it in struct ip175c_state.

This simplifies the code significantly.

Signed-off-by: Martin Mares <mj@ucw.cz>
Signed-off-by: Patrick Horn <patrick.horn@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21722 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 20:18:55 +00:00
juhosg
b105730015 ip17xx: Add support for IP175D
Add support for the IP175D chip. Since the register set is vastly different
from the previous models, we cannot not use the register number tables in struct
register_mappings (except for VLAN_DEFAULT_TAG_REG), so we supply a different
set of low-level functions.

Unlike with the previous models, we keep the VLAN setup in our state structure
instead of querying the hardware (it would be much harder in case of IP175D,
because the mapping between hardware and software state is not 1:1). Therefore,
get_flags() and get_state() are no-ops.

Signed-off-by: Martin Mares <mj@ucw.cz>
Signed-off-by: Patrick Horn <patrick.horn@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21721 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 20:18:51 +00:00
juhosg
714e378fed ip17xx: Avoid auto-negotiation
Let ip175c_config_init() initialize the link state of the PHY and set the
PHY state machine directly to the PHY_RUNNING state in order to skip the
auto-negotiation phase.

Previously, auto-negotiation on PHY 0 (switch port 0) influenced the ethernet
driver connected to the CPU port, causing all sorts of weird effects.

Signed-off-by: Martin Mares <mj@ucw.cz>
Signed-off-by: Patrick Horn <patrick.horn@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21720 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 20:18:47 +00:00
juhosg
b2b1cad62e ip17xx: New chip detection
Clean up get_model() and make it recognize IP175D using yet another
chip ID register. Log the detected model.

Also fix a bug in the interface between the PHY layer and our probe function,
which caused IP175A devices to be ignored.

Signed-off-by: Martin Mares <mj@ucw.cz>
Signed-off-by: Patrick Horn <patrick.horn@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21719 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 20:18:42 +00:00
juhosg
27c4924de8 ip17xx: Add VLAN tag field
Since IP175D uses tag-based VLANs, we need an ability to set VLAN tag
of every VLAN.

Signed-off-by: Martin Mares <mj@ucw.cz>
Signed-off-by: Patrick Horn <patrick.horn@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21718 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 20:18:38 +00:00
juhosg
d46e7c8da5 ip17xx: Maintain state->remove_tag incrementally
So far, state->remove_tag was sometimes updated incrementally, sometimes
left to correct_vlan_state() to recalculate. Since I want to avoid use of
correct_vlan_state() for IP175D, this patch fixes the only two remaining
places which leave state->remove_tag inconsistent with state->add_tag
and it drops the recalculation.

Signed-off-by: Martin Mares <mj@ucw.cz>
Signed-off-by: Patrick Horn <patrick.horn@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21717 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 20:18:34 +00:00
juhosg
29b4b3c009 ip17xx: Initialize VLAN state upon reset
Let VLAN state variables be initialized not only when the enable VLAN bit
is toggled, but also upon reset.

At this point, this should be a no-op, since the driver reads the current
hardware state before doing any modifications anyway, but I plan to keep
some state locally in the subsequent patches.

Signed-off-by: Martin Mares <mj@ucw.cz>
Signed-off-by: Patrick Horn <patrick.horn@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21716 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 20:18:30 +00:00
juhosg
f59df48228 ip17xx: Introduce vlan array
Replace vlan_ports array in struct ip175c_state by an array of structures.

Signed-off-by: Martin Mares <mj@ucw.cz>
Signed-off-by: Patrick Horn <patrick.horn@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21715 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 20:18:25 +00:00
juhosg
398de7c230 ip17xx: Introduce indirection of low-level operations
This patch introduces seperation between low-level and high-level parts
of the driver. The low-level functions are now called via pointers stored
in struct ip175c_regs.

The only functional changes are:

  o  correct_vlan_state() is now called as a part of every update_state().

  o  The order of setting of MODE_REG and resetting switch ports
     has changed. (These are independent actions, so it should not matter.)

  o  ip175c_set_tagged() sets the tags via update_state() instead of writing
     directly to the registers.

  o  The same for ip175c_set_pvid().

The only gaps in this abstraction are operations on ports (get_port_speed
and friends), which access PHY registers directly.

Signed-off-by: Martin Mares <mj@ucw.cz>
Signed-off-by: Patrick Horn <patrick.horn@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21714 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 20:18:20 +00:00
juhosg
0b041db319 ip17xx: Fix use of MODE_VAL
The value written to MODE_REG in ip175c_reset() should be obviously MODE_VAL,
not RESET_VAL. Actually, this change is a NOP, because in the only case where
the MODE_REG is used, the two values are identical, but it makes the code
more readable.

Signed-off-by: Martin Mares <mj@ucw.cz>
Signed-off-by: Patrick Horn <patrick.horn@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21713 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 20:18:15 +00:00
juhosg
148966bc19 ip17xx: Fix indentation in get_state() and update_state()
Signed-off-by: Martin Mares <mj@ucw.cz>
Signed-off-by: Patrick Horn <patrick.horn@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21712 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 20:18:10 +00:00
juhosg
9e494614a1 ip17xx: Fixed error handling in ip175c_set_val()
Upon error, ip175c_set_val() returned 0 instead of -EINVAL.

Signed-off-by: Martin Mares <mj@ucw.cz>
Signed-off-by: Patrick Horn <patrick.horn@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21711 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 20:18:05 +00:00
juhosg
6c0e4e5864 ip17xx: Cosmetic cleanups
Trying to unify capitalization and formatting of comments. Writing of periods
at the end of comments is however still inconsistent.

Signed-off-by: Martin Mares <mj@ucw.cz>
Signed-off-by: Patrick Horn <patrick.horn@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21710 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 20:18:00 +00:00
juhosg
2624270e11 ip17xx: Consolidate operations with PHY registers
Call mdiobus_{read,write} instead of duplicating their code.

Introduce ip_phy_write_masked(), which changes a part of a register. Will
be used later in this patch series. Please note that it does not hold any
lock between reading and writing, so it is up to the caller to serialize.

Also add DUMP_MII_IO, which enables logging of all MII accesses.

Signed-off-by: Martin Mares <mj@ucw.cz>
Signed-off-by: Patrick Horn <patrick.horn@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21709 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 20:17:55 +00:00
juhosg
2edc592f33 swconfig: Fix a bug in use of SWITCH_PORT_FLAG_TAGGED
SWITCH_PORT_FLAG_TAGGED is a bit index, not a bit mask.

Signed-off-by: Martin Mares <mj@ucw.cz>
Signed-off-by: Patrick Horn <patrick.horn@gmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21708 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 20:17:03 +00:00
acoul
47b045d133 brcm47xx: add kernel 2.6.35 preliminary support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21707 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 16:58:06 +00:00
acoul
244f3497a8 generic-2.6: fix mini_fo 2.6.35 kernel issue
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21706 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 16:44:42 +00:00
acoul
0805dd9268 fix a typo on commit r21704
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21705 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 16:19:34 +00:00
acoul
cac0371c96 generic-2.6: generic: add missing config symbols for 2.6.35
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21704 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 16:13:37 +00:00
acoul
92eda5acee atheros: add kernel 2.6.35 preliminary support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21703 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-08 15:01:35 +00:00
florian
624754c817 [package] move broadcom-shdc from trunk to packages/utils
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21702 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-07 11:26:32 +00:00
jow
3f9dc7a220 [package] kernel: ensure that IMQ is autoloaded after ip_queue, fixes disappearing traffic when using qos rules
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21700 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-07 10:47:20 +00:00
juhosg
2bc4946ac7 generic: add missing config symbol for 2.6.34
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21699 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-07 09:18:18 +00:00
juhosg
c2a2341e50 ar71xx: fix 2.6.34 build errors
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21698 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-07 09:18:13 +00:00
juhosg
cd42787458 ar71xx: add missing 2.6.34 config symbol
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21697 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-07 09:17:34 +00:00
acoul
072012a0cb generic-2.6: add kernel 2.6.35 preliminary support (patches)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21696 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-07 05:56:49 +00:00
acoul
3f98f7cf50 generic-2.6: add kernel 2.6.35 preliminary support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21695 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-07 05:54:29 +00:00
acoul
5a755c376b refresh kernel patches
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21694 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-06 21:16:31 +00:00
acoul
c7dadaeb3f [package/madwifi] add 2.6.35 support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21693 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-06 19:34:41 +00:00
florian
cabd00840e [ar7] generate NA and non-NA images for Titan platforms
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21692 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-06 19:17:01 +00:00
florian
816ab94c62 [ar7] add Titan MTD partitionning support (#6632)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21691 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-06 19:16:55 +00:00
florian
4b648be10a [ar7] titan board also have CYWL as a product id
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21690 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-06 19:16:49 +00:00
florian
fdb5a4eb0b [tools] add mktitanimg to create Titan (AR7-based) images (#6632)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21689 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-06 19:16:43 +00:00
florian
5de20bc7df [kernel] do not override kmod-usb-storage-extras Kconfig symbols (#7285)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21688 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-06 19:02:30 +00:00
florian
7acd328e4d [package] update openssl to 0.9.8o (#7428)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21687 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-06 19:02:22 +00:00
juhosg
9dd80fbdfc ar71xx: build firmware images if Minimal profile is selected
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21684 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-06 17:41:39 +00:00
juhosg
474a2a5101 ar71xx: rename Minimal profile
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21683 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-06 17:41:34 +00:00
hauke
6dc6d56e65 orion: Update Orion in trunk to kernel 2.6.34.
Was flashed on WRT350Nv2, booted and is running for several days.
Closes #7405

Thank you maddes for your patch.


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21682 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-06 10:51:52 +00:00
juhosg
6d3056927c generic: update mips multimachine patch
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21681 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-05 18:26:45 +00:00
juhosg
7bd72d46a1 adm5120: convert to use the new mips multimachine stuff
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21680 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-05 18:26:40 +00:00
nbd
b6f48ae879 ar71xx: clarify the nand subtarget a bit
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21679 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-05 11:55:49 +00:00
juhosg
0119024a6b generic: merge mips multi machine update to generic patches for 2.6.34
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21675 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-04 19:09:52 +00:00
juhosg
dd08767acf generic: merge mips multi machine update to generic patches for 2.6.33
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21674 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-04 19:09:49 +00:00
juhosg
22b785a14d generic: merge mips multi machine update to generic patches for 2.6.32
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21673 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-04 19:09:46 +00:00
juhosg
3fa8734ca6 adm5120: don't use linux/autoconf.h
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21672 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-04 19:09:43 +00:00
juhosg
3e29a45a94 adm5120: fix build error on 2.6.34
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21671 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-04 19:09:39 +00:00
claudio
766286fdcb [etrax] Force usb features, fix depends
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21664 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-03 09:52:34 +00:00
nbd
b91699ff88 libelf: get rid of CRLF encoding in the makefile (thx, danimo)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21663 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-03 00:44:49 +00:00
jow
f26814c7cb [package] base-files: introduce option "broadcast" for proto=dhcp interface to enable the broadcast flag in DHCP requests, required by certain providers
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21661 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-02 20:21:41 +00:00
florian
0c3779588e [toolchain] fix eglibc INET_ANL option selection
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21660 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-02 19:47:41 +00:00