Commit Graph

43 Commits (68d3c26b879d483ddefeefc9b1366c46dd2f27aa)

Author SHA1 Message Date
Florian Fainelli 0d1596f2c8 mcs814x: use devm_request_and_ioremap in mcs814x-rng driver
Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36063 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-03-17 14:33:18 +00:00
Florian Fainelli 513d4fc9c9 mcs814x: use devm_request_and_ioremap helper for nuport_mac driver
Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36062 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-03-17 14:33:13 +00:00
Florian Fainelli 66fd7561b3 mcs814x: remove PCI code
None of the boards we support are using it nor have it wired out of the
SoC, just remove it.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36061 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-03-17 14:33:07 +00:00
Florian Fainelli 61de74b7f5 mcs814x: implement MULTI_IRQ_HANDLER
Allows us to get rid of the IRQ entry point assembly

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36060 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-03-16 22:25:47 +00:00
Florian Fainelli 4ac0d0408c mcs814x: use the standard device tree binding to represent a PHY node
Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36059 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-03-16 22:25:41 +00:00
Florian Fainelli b0df2719d6 [mcs814x] do not call clk_put() on the timer clock
We don't support disabling the clock, but this is actually what it would do.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34394 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-27 18:42:36 +00:00
Florian Fainelli da918e3b88 [mcs814x] do not list specific board compatible strings
The general practice is to use the general SoC compatible string in both the
DTS and the board specific .c file.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34393 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-27 18:42:32 +00:00
Florian Fainelli 2ed6a26a63 [mcs814x] remove unused variables from Makefile.boot
Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34392 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-27 18:42:28 +00:00
Florian Fainelli e910e78dba [mcs814x] nuport-mac: various fixes
- properly check for the link up condition in the phylib adjust callback
- do not assign skb->dev, eth_type_trans() already does it
- handle skb allocation failures in the refill path

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33780 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-15 21:03:57 +00:00
Florian Fainelli f004690f1a [mcs814x] more convertions to {read,write}_relaxed I/O accessors
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33604 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-03 16:10:47 +00:00
Florian Fainelli 2daf0ae204 [mcs814x] use the recommended ARM I/O accessors
use {read,write}l_relaxed instead of the plain __raw_{read,write}l variants.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33330 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-08 09:51:05 +00:00
Florian Fainelli a7b6531eea [mcs814x] nuport-mac: disable MAC RX and TX during interface close
Fixes sporadic crashes while reconfiguring the network interface.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33312 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-03 10:26:01 +00:00
Florian Fainelli 11293837c8 [mcs814x] MCS8140 actually selects CPU_ARM926T
Should make inclusion for other MCS814x SoCs easier

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33188 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-14 16:19:30 +00:00
Florian Fainelli c8edb6e5cc [mcs814x] change partition names to be more in line with other OpenWrt devices
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33127 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-11 12:55:30 +00:00
Florian Fainelli 332fbc08a1 [mcs814x] nuport-mac: delay call to napi_start() until fully able to process RX
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33079 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-10 07:04:21 +00:00
Florian Fainelli c4f48de8cc [mcs814x] set a compatible command-line to boot from flash
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33078 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-10 07:04:16 +00:00
Florian Fainelli 8e1f8a2085 [mcs814x] nuport-mac: use dma_mapping_error() instead of checking pointers
Thanks Gabor for spotting this

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33071 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-09 09:06:35 +00:00
Florian Fainelli 9ded359521 [mcs814x] nuport-mac: rework PHY interrupt configuration to avoid races
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33070 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-08 21:51:18 +00:00
Florian Fainelli 6f503e42e0 [mcs814x] nuport-mac: close possible race condition during start
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33069 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-08 21:51:13 +00:00
Florian Fainelli 8aa941f17a [mcs814x] nuport-mac: unmap the DMA buffer when closing device
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33068 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-08 21:51:09 +00:00
Florian Fainelli c447469124 [mcs814x] nuport-mac: check dma_map_single address return values
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33067 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-08 21:51:04 +00:00
Florian Fainelli a8facfad2a [mcs814x] nuport-mac: properly protect the phy interrupt handler
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32951 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-02 18:13:17 +00:00
Florian Fainelli 031b03b3dd [mcs814x] assume the link is up and full-duplex by default
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32940 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-01 21:56:54 +00:00
Florian Fainelli b6ea2c7d2e [mcs814x] add compatible property to pci node
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32730 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-15 14:09:40 +00:00
Florian Fainelli d830eca387 [mcs814x] use ohci_err() instead of err()
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32729 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-15 14:09:32 +00:00
Florian Fainelli 4b394c1b83 [mcs814x] make sure we properly unmap DMA mappings we created
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32728 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-15 14:09:24 +00:00
Florian Fainelli 8f1bb68c38 [mcs814x] nuport-mac: add definitions of the various bits/masks used
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32727 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-15 14:09:18 +00:00
Florian Fainelli 62fe65a569 [mcs814x] nuport-mac: check netif_receive_skb() return value
We did not reassign status to netif_receive_skb() return value, we thus
almost always incremented the dropped counter because the descriptor status
value never matches the NET_RX_DROP.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32659 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-11 08:29:01 +00:00
Florian Fainelli a6e9faddf5 [mcs814x] fix typo on of_node_put()
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32653 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-09 14:44:15 +00:00
Florian Fainelli 6bd1255c39 [mcs814x] call of_node_put() on ethernet node
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32628 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-05 18:46:55 +00:00
Florian Fainelli e9c7ab5034 [mcs814x] fix EPHY clock bit definition after r32489
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32627 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-05 18:46:52 +00:00
Florian Fainelli 1469b30ee6 [mcs814x] give an unique partition identifier for dLAN USB Extender Combined partition
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32626 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-05 18:46:48 +00:00
Florian Fainelli 59677232f8 [mcs814x] add missing interrupts properties to some device nodes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32603 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-04 19:37:11 +00:00
Florian Fainelli 2c440535b3 [mcs814x] provide an early ioremap cookie of the system configuration register
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32489 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-23 11:03:50 +00:00
Florian Fainelli 32e4646654 [mcs814x] group SYSDBG register defines in mcs814x.h
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32488 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-23 11:03:45 +00:00
Florian Fainelli ce5f9970fe [mcs814x] make hardware.h a forward inclusion of mcs814x.h
mach/hardware.h is soon to be removed by upstream kernel

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32487 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-23 11:03:40 +00:00
Florian Fainelli a2cd791e83 [mcs814x] remove platform specific initialization from ethernet driver
Hardware filtering must always be enabled as long as there is an Ethernet
device registered, and use device tree for setting the link activity and
buffer shifting enable/disable bit.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32486 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-23 11:03:35 +00:00
Florian Fainelli 106cd1abfa [mcs814x] regroup interrupt controller register definitions in hardware.h
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32485 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-23 11:03:29 +00:00
Florian Fainelli 12db25fe25 [mcs814x] remove handle_irq callback in board-mcs8140-dt.c
This should have been removed in r32470.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32481 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-21 12:20:47 +00:00
Florian Fainelli a3c7dde953 [mcs814x] remove uselss cache invalidations
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32472 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-20 21:57:53 +00:00
Florian Fainelli 2c4cbaba5d [mcs814x] improve ethernet driver debugging
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32471 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-20 21:57:49 +00:00
Florian Fainelli e8d95819ae [mcs814x] do not use MULTI_IRQ_HANDLER it is bogus on our platform
This caused stalls in the Ethernet DMA block, so until properly
written and sorted out, fallback to the assembly version instead.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32470 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-20 21:57:45 +00:00
Florian Fainelli fea5404e8a [mcs814x] add Moschip MSC814x support
This target currently only supports Moschip's MCS8140 SoC, but support
for other chips in the same family (MCS8142, MCS8144) will be easy to add.

Target support is entirely using Device Tree for probing peripherals.
Drivers support include:
- PCI
- USB 1 & 2
- watchdog
- random number generator
- UART
- timer
- internal Ethernet PHY
- Ethernet MAC core

Support for the following boards is included using Device Tree
- Devolo dLAN USB Extender
- Tigal RBT-832

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32462 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-19 14:48:56 +00:00