Commit graph

132 commits

Author SHA1 Message Date
David Bauer
f4f99ec973 ar71xx: fix QCA955X SGMII link loss
The QCA955X is affected by a hardware bug which causes link-loss of the
SGMII link between SoC and PHY. This happens on change of link-state or
speed.

It is not really known what causes this bug. It definitely occurs when
using a AR8033 Gigabit Ethernet PHY.

Qualcomm solves this Bug in a similar fashion. We need to apply the fix
on a per-device base via platform-data as performing the fixup work will
break connectivity in case the SGMII interface is connected to a Switch.

This bug was first proposed to be fixed by Sven Eckelmann in 2016.
 https://patchwork.ozlabs.org/patch/604782/

Based-on-patch-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
Signed-off-by: David Bauer <mail@david-bauer.net>
2018-08-08 15:48:57 +02:00
Felix Fietkau
f62d2b9549 ar71xx: remove pdata->fifo_cfg*
The values are the same for all chipsets that use it

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-04 19:37:20 +01:00
Vittorio Gambaletta
d40a358136
ag71xx: Fix rx ring buffer stall on small packets flood on qca956x and qca953x.
Backported from Code Aurora QSDK

Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>
2017-12-29 15:17:07 +01:00
Henryk Heisig
eec0c41375 ar71xx: QCA956X: add missing register
Signed-off-by: Henryk Heisig <hyniu@o2.pl>
2017-01-26 11:38:20 +01:00
Felix Fietkau
af79fdbe4a ar71xx: remove a non-upstream spi core patch
- use standard flags instead
- remove dead code from the rb4xx spi drivers

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-05 11:09:13 +01:00
Felix Fietkau
75b2105cd3 ar71xx: rename ethernet pdata->builtin_switch to use_flow_control
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-27 12:12:40 +02:00
Felix Fietkau
26b8db2537 ar71xx: enable flow control for ethernet MACs with built-in switch
Should fix LAN speed issues on some devices. This is an updated version
of the previously reverted commit with the same name.
It improves the check for MACs connected to a built-in switch

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-26 11:21:17 +02:00
Gabor Juhos
2c4e3cf33a ar71xx: ag71xx: get max_frame_len and desc_pktlen_mask from platform data
This will allow to use SoC specific values for both.

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

SVN-Revision: 39145
2013-12-20 11:41:17 +00:00
Gabor Juhos
8b712436f3 ar71xx: implement callback in mdio reset
This enables us to add fixups to the board specific code for boards that
require special treatment of PHYs on mdio bus reset.

Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
http://patchwork.openwrt.org/patch/4614/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39127
2013-12-17 22:14:10 +00:00
Gabor Juhos
7592057774 ar71xx: add dynamic MDIO clock calculation
SVN-Revision: 33342
2012-09-09 14:05:17 +00:00
Felix Fietkau
8039a1bbb2 ar71xx: fix MII clock settings for various chips, improves ethernet stability on AR934x
SVN-Revision: 31925
2012-05-27 21:02:41 +00:00
Gabor Juhos
3e3a4d3d6b ar71xx: allow to disable link polling on unused PHYs
SVN-Revision: 31533
2012-04-29 18:29:24 +00:00
Gabor Juhos
8a2e4b49de ar71xx: add initial support for RB750GL
SVN-Revision: 31025
2012-03-19 15:57:04 +00:00
Gabor Juhos
d19f3dd512 ar71xx: make rb750_latch_change 'static void'
SVN-Revision: 31024
2012-03-19 15:57:03 +00:00
Gabor Juhos
5348f46c80 ar71xx: add latch_change field to rb750_led_platform_data
SVN-Revision: 31023
2012-03-19 15:57:01 +00:00
Gabor Juhos
8a471efe01 ar71xx: add platform data for the RB750 NAND driver
SVN-Revision: 31022
2012-03-19 15:56:59 +00:00
Gabor Juhos
d72bde99cd ar71xx: merge files-3.2 to files
SVN-Revision: 30405
2012-02-10 08:19:31 +00:00
Gabor Juhos
386cbfe45b ar71xx: move arch specific files to files-2.6.39
SVN-Revision: 29867
2012-01-22 22:38:11 +00:00
Gabor Juhos
fbf81c8e79 ar71xx: move irq_to_gpio and gpio_to_irq into gpio.c
SVN-Revision: 29713
2012-01-11 18:00:50 +00:00
Gabor Juhos
5bbd416e38 ar71xx: add defines for the AR934X GMAC interface
SVN-Revision: 29556
2011-12-15 22:25:36 +00:00
Gabor Juhos
00667c3846 ar71xx: ag71xx: allow to connect PHY4 to the CPU on AR934X
SVN-Revision: 29553
2011-12-15 22:25:30 +00:00
Gabor Juhos
9ae65588d8 ar71xx: introduce ar71xx_switch_data
SVN-Revision: 29549
2011-12-15 22:25:11 +00:00
Gabor Juhos
66c8cc0f6d ar71xx: add GPIO function bit defines for AR933X
SVN-Revision: 29534
2011-12-14 20:54:07 +00:00
Felix Fietkau
7076d74b21 ar71xx: fix gpio count for ar7241/ar7242
SVN-Revision: 29532
2011-12-14 20:47:24 +00:00
Gabor Juhos
f27548448b ar71xx: fix USB LED on the DB120 board
SVN-Revision: 29126
2011-11-14 17:43:15 +00:00
Gabor Juhos
6ebbb1329d ar71xx: add a function for selecting output signal on a given GPIO pin
SVN-Revision: 29125
2011-11-14 17:43:14 +00:00
Gabor Juhos
0c1d3617d7 ar71xx: fix GPIO function handling on AR934x
SVN-Revision: 29124
2011-11-14 17:43:13 +00:00
Gabor Juhos
aa0c8c4885 ar71xx: add AR71XX_ prefix to GPIO_REG_* defines
SVN-Revision: 29123
2011-11-14 17:43:11 +00:00
Gabor Juhos
5ae0fd802c ar71xx: fix GPIO count for AR934x
SVN-Revision: 29109
2011-11-14 13:07:45 +00:00
Gabor Juhos
e52269364a ar71xx: flush DDR writeback buffers for WMAC and PCIe on AR934X
SVN-Revision: 29108
2011-11-14 11:49:53 +00:00
Gabor Juhos
3104d70552 ar71xx: use a dummy irq chip for WMAC and PCIe irq hadling
SVN-Revision: 29107
2011-11-14 11:49:51 +00:00
Gabor Juhos
42e8ae09b5 ar71xx: add AR934X_RESET_REG_PCIE_WMAC_INT_STATUS defines
SVN-Revision: 29106
2011-11-14 11:49:49 +00:00
Gabor Juhos
c15caea360 ar71xx: add an irq parameter for ar724x_pcibios_init
SVN-Revision: 29105
2011-11-14 11:49:47 +00:00
Gabor Juhos
538a9493b9 ar71xx: set MII interface speed from the set_speed callbacks
SVN-Revision: 29013
2011-11-13 11:26:59 +00:00
Gabor Juhos
93cd46be13 ar71xx: rename set_pll callback to set_speed in ag71xx_platform_data
Also rename the corresponding callback functions.

SVN-Revision: 29012
2011-11-13 11:26:57 +00:00
Gabor Juhos
9579bb4267 ar71xx: ag71xx: remove MII interface setup code
SVN-Revision: 29011
2011-11-13 11:26:56 +00:00
Gabor Juhos
da64ce8603 ar71xx: configure MII interface type from ar71xx_setup_phy_if_mode
SVN-Revision: 29010
2011-11-13 11:26:54 +00:00
Gabor Juhos
e962b07c8b ar71xx: add AR934X specific bootstrap and reset register bits
SVN-Revision: 28976
2011-11-12 10:54:15 +00:00
Gabor Juhos
43e993e5f5 ar71xx: fix AR934X clock frequency calculation
SVN-Revision: 28973
2011-11-12 10:54:08 +00:00
Gabor Juhos
21e651c9a1 ar71xx: add AR933X GMAC register defines
SVN-Revision: 28705
2011-11-01 11:20:50 +00:00
Gabor Juhos
d3617ac7d3 ar71xx: add AR933x specific USB setup function
SVN-Revision: 28276
2011-09-21 11:47:51 +00:00
Gabor Juhos
91340d8af7 ar71xx: add ar71xx_device_reset_rmw helper
SVN-Revision: 28275
2011-09-21 11:47:50 +00:00
Felix Fietkau
12c84f8eeb ar71xx: add some code to detect DMA stuck conditions on ar7240
SVN-Revision: 27975
2011-08-13 22:30:14 +00:00
Gabor Juhos
e6af77a1c8 ar71xx: cleanup AR933X UART driver
SVN-Revision: 27222
2011-06-19 13:17:51 +00:00
Gabor Juhos
b58ede16a5 ar71xx: update early_printk code
SVN-Revision: 27165
2011-06-13 08:12:38 +00:00
Gabor Juhos
750af1522b ar71xx: init external_reset for AR933X
SVN-Revision: 27083
2011-06-01 13:12:30 +00:00
Gabor Juhos
34ff32a6eb ar71xx: export SoC revision
SVN-Revision: 27079
2011-06-01 13:12:24 +00:00
Gabor Juhos
b460bc6f12 ar71xx: add serial driver for the AR933X UART
SVN-Revision: 27065
2011-05-31 22:53:40 +00:00
Gabor Juhos
c34e0cbc4c ar71xx: add WMAC initialization code for the AR933X SoCs
SVN-Revision: 27064
2011-05-31 22:53:39 +00:00
Gabor Juhos
e8a0aaf9a2 ar71xx: add ethernet initialization for the AR933X SoCs
SVN-Revision: 27063
2011-05-31 22:53:37 +00:00