Commit Graph

433 Commits

Author SHA1 Message Date
Felix Fietkau
f6c7cc8c8c atheros: v3.18: non-functional cleanup
To finally sync code with upsream cleanup registers headers, and update
several comments and kernel config symbols descriptions. No functional
changes.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44731 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 03:02:00 +00:00
Felix Fietkau
e6f4883929 atheros: v3.18: cleanup includes
Remove odd and add missed includes.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44730 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 03:01:50 +00:00
Felix Fietkau
bc135de0a6 atheros: v3.18: rearrange code between patches
Cleanup board patch by moving code to specific patches, and factor out
leds to separate patch. No functional changes.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44729 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 03:01:42 +00:00
Felix Fietkau
99f3e65bca atheros: v3.18: move GPIO patches behind PCI
Move GPIO patches behind PCI patch, since they are not yet merged
upstream.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44728 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 03:01:37 +00:00
Felix Fietkau
bf248f8c59 atheros: v3.18: switch to IRQ domain
Rework MISC and PCI IRQ controllers code to use IRQ domains and bitops.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44727 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 03:01:31 +00:00
Felix Fietkau
f1a2758140 atheros: v3.18: update register names
Make register names more consistent, mostly add appropriate prefix
(AR5312_ or AR2315_) or _BASE suffix. Also add macro to simplify mask
and shift operation.

No functional changes.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44726 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 03:01:21 +00:00
Felix Fietkau
7ac3fd1f5d atheros: v3.18: remap flash for boardconfig parsing
Rework boardconfig handling code to honestly remap flash memory region.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44725 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 03:01:17 +00:00
Felix Fietkau
6afc58ca5b atheros: v3.18: make registers headers local
There are no external users (last one was PCI driver) for these headers,
so move them to arch directory. Few macroses from ar231x.h header moved
to devices.h and file was removed.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44724 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 03:01:11 +00:00
Felix Fietkau
c35ad669cb atheros: v3.18: remap main SoC MMR memory
Honestly remap main SoC MMR mem and use accessor functions to
interact with registers. Now registers defined relatively to base
address (e.g. SDRAM controller base address).

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44723 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 03:01:04 +00:00
Felix Fietkau
a24e0d1b97 atheros: v3.18: cleanup register headers
AFAIK, no one AR2315+ chip (AR2315, AR2316, AR2317, AR2318) does not
contain IR block, so remove IR registers definitions. Also remove few
unused macroses.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44722 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 03:00:59 +00:00
Felix Fietkau
684a72d562 atheros: v3.18: pass PCI IRQ and I/O mem via resources
Pass PCI IRQ and I/O memory ranges via platform device resources, this
change makes PCI controller driver independed from arch headers, so
also remove few includes.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44721 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 03:00:51 +00:00
Felix Fietkau
e7cc907788 atheros: v3.18: remap PCI controller MMR memory
Honestly remap PCI controller MMR and use accessor functions to interact
with registers.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44720 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 03:00:43 +00:00
Felix Fietkau
93dd54c7cf atheros: v3.18: add context container for PCI driver
Add container and place all context specific variables and structure to
it.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44719 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 03:00:19 +00:00
Felix Fietkau
5938707157 atheros: v3.18: move PCI enable code to arch
Move PCI host interface enable code to arch, since it touches generic
SoC registers outside the PCI MMR region.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44718 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 03:00:06 +00:00
Felix Fietkau
93e709e333 atheros: v3.18: rearrange PCI regs definitions
Move PCI controller configuration registers from generic header to
driver source. No functional changes.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44717 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 02:59:54 +00:00
Felix Fietkau
32b39783b9 atheros: v3.18: relocate PCI host DMA base definition
Put AR2315_PCI_HOST_SDRAM_BASEADDR macro to DMA header, since this is
arbitrary value and not some hw specific constant. Also this relocation
decouples dma from HW specific header.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44716 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 02:59:43 +00:00
Felix Fietkau
96640f6e55 atheros: v3.18: rework early initialization
Do not use prom_init() callback, do memory initialization in
plat_mem_setup() callback and move serial port configuration to
arch_initcall stage.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44715 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 02:59:27 +00:00
Felix Fietkau
baf36d9f83 atheros: v3.18: rearrange interrupt handling functions
No functional changes, just change functions order in source file.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44714 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 02:59:19 +00:00
Felix Fietkau
60a15500fc atheros: v3.18: change calls logic
Check SoC family (AR5312+ or AR2315+) before call instead of checking it
inside the called function. Also convert ar{5312,2315}_init_device()
function to void, since they both return zero and nobody care about
return value.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44713 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 02:59:04 +00:00
Felix Fietkau
96bfba8286 atheros: v3.18: update names and declarations
Sync functions, variables and enums names with upstream. Mostly replace
'ar231x_' prefix by 'ath25_'.

No functional changes, except few 'int' -> 'unsigned' changes.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44712 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 02:58:58 +00:00
Felix Fietkau
f305457b87 atheros: v3.18: cleanup cpu-feature-overrides.h
Remove mention of undefined features.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44711 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 02:58:49 +00:00
Felix Fietkau
36ac89d168 atheros: v3.18: remove eth platform device unused field
Ethernet controller driver don't use boarddata directly, so remove
corresponding field from its platform device structure.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44710 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 02:58:37 +00:00
Felix Fietkau
3e2402cf82 atheros: v3.18: remove odd header reset.h
This header provides prototype for function without realization and
users.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44709 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 02:58:24 +00:00
Felix Fietkau
e2d59f4dd5 atheros: v3.18: rename platform header
Rename ar231x_platform.h to ath25_platform.h

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44708 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 02:58:17 +00:00
Felix Fietkau
85365aa0c4 atheros: v3.18: rename kernel platform to ath25
Rename platform source directory and asm includes directory.

No functional changes.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44707 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 02:57:59 +00:00
Felix Fietkau
3846aa2bb9 atheros: v3.18: rename ATHEROS_AR231X symbol to ATH25
This patch starts upsteam ath25 code backporting.

No functional changes.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44706 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 02:57:51 +00:00
Felix Fietkau
bc66ec6772 atheros: add v3.18 support
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44705 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-13 02:57:41 +00:00
John Crispin
916b239f7e kernel: disbale HAMRADIO in generic config
HAMRADIO enabled in all generic configs, but no one platform directly
use related drivers/protocols. This symbol is only used for kmod-ax25
package modules. Furthermore, half of platforms explicitly disables
this symbol, what silently disables build of modules for kmod-ax25
package.

So disable HAMRADIO by-default in generic config, add it to kmod-ax25
package and remove it from platform specific configs.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44613 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-06 07:56:21 +00:00
John Crispin
7b4702d275 kernel: remove GENERIC_NET_UTILS from platform configs
CONFIG_GENERIC_NET_UTILS is selected by CONFIG_NET and already enabled
in generic config, so we don't need this symbol in platform specific
configurations.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44611 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-06 07:55:57 +00:00
Jonas Gorski
11b489f8a1 kernel: move CONFIG_MIPS_O32_FP64_SUPPORT to generic configs
Most MIPS targets have it disabled, so move the symbol to the generic
configs to keep target configs small.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44583 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-01 11:37:15 +00:00
Felix Fietkau
31b1aae3d8 kernel: makefiles: make use of new var KERNEL_PATCHVER
replace all occurences of LINUX_VERSION with the cleaner
approach. future kernel upgrades must mostly touch only
one file. the only platform left is netlogic, because it
uses a intermediate kernel 3.14.16

Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43047 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-24 19:34:02 +00:00
John Crispin
455c1fabf8 atheros: refresh config
Remove symbols that are now placed in the generic config.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42513 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:54:16 +00:00
John Crispin
552fa213dd atheros: convert AR2315 GPIO code to platform driver
Convert gpiolib realization to platform driver and move to the
appropriate subdirectory. Misc GPIO interrupt acknowledgement placed
to the MISC IRQ handler since in fact we can detect only one GPIO state
change.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42512 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:54:10 +00:00
John Crispin
7c9ad56d21 atheros: convert AR5312 GPIO code to platform driver
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42511 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:54:05 +00:00
John Crispin
d2575bd493 atheros: rework chained interrupts handling
Call generic_handle_irq() instead of do_IRQ() for chained interrupts,
remove XXX_NONE interrupts and call spurious_interrupt() when an interrupt
is unexpected.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42510 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:53:58 +00:00
John Crispin
e24f039067 atheros: convert gpio.h to stub
Implement to_irq() handler for AR2315 GPIO chip and convert custom
gpio.h header to stub.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42509 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:53:53 +00:00
John Crispin
2dfb3a4f2a atheros: rename SoCs config symbols
Rename config symbols to be consistent with other SoCs config symbols
supported by MIPS arch.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42508 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:53:48 +00:00
John Crispin
c0d10e6028 atheros: add AR2316 and AR2318 SoCs detection
Tested with AR2315, AR2316 and AR2317 SoCs, not tested with AR2318 but
changes seems correct: revision is one more than AR2317.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42507 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:53:43 +00:00
John Crispin
d4f42472e8 atheros: ar2315-pci: convert to platform driver
Convert the PCI controller support code to platform driver and move it to
appropriate subdirectory.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42506 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:53:33 +00:00
John Crispin
611b47149f atheros: ar2315-pci: rename configuration symbol
Rename configuration symbol to be consistent with other MIPS machines.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42505 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:53:27 +00:00
John Crispin
15a0fe7fe1 atheros: ar2315-pci: update DMA offset macroses
Remove duplicated macroses, which define DMA offset (SDRAM baseaddress).

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42504 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:53:21 +00:00
John Crispin
f92da9dda6 atheros: ar2315-pci: update host bridge resources
It seems that the PCI controller does not support I/O ports, so remove
the ports range. Also correct the beginning of the memory range and its
size.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42503 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:53:15 +00:00
John Crispin
594d4ab810 atheros: ar2315-pci: rework the configuration access code
Use __raw_{read,write}l accessors and use Abort interrupt to detect a
configuration space read/write errors. The second change improves errors
detection, what improves the device presence detection and helps us to
avoid following (and similar) errors:

pci 0000:00:00.2: ignoring class 0x7e0200 (doesn't match header type 02)
pci 0000:00:00.2: bridge configuration invalid ([bus 03-90]), reconfiguring
pci 0000:00:00.2: not setting up bridge for bus 0000:01

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42502 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:53:09 +00:00
John Crispin
a815cd075d atheros: ar2315-pci: rework interrupt handling
Add PCI IRQ controller to facilitate interrupt handling, move interrupts
initialization to the IRQ controller initialization from
pcibios_plat_dev_init() callback.

Also remove odd PCI dev configuration manipulation from pcibios_plat_dev_init()
callback.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42501 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:53:00 +00:00
John Crispin
77a4c61c8a atheros: ar2315-pci: rework host controller initialization
Explicitly configure PCI host controller, and do not expose it to PCI
subsystem. The PCI host controller acts as a usual PCI device connected
to the bus, but its configuration as a usual PCI device is senseless,
since the host controller provide access to _internal_ memory space for
_external_ device.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42500 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:52:55 +00:00
John Crispin
0390584332 atheros: ar2315-pci: cosmetic changes
- add comment, which briefly describes PCI controller features and
   Fonera 2.0g schematics.
 - rename several functions and structures, to make it clear that this
   code only for AR2315 chips.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42499 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:52:51 +00:00
John Crispin
1ded17c7b8 atheros: ar2315-pci: remove odd locking in PCI config space access function
Caller (generic PCI code) already do proper locking so no need to add
another one here.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42498 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:52:46 +00:00
John Crispin
9427a379f8 atheros: remove odd ATHEROS_AR2315 config symbol dependencies
Remove options which already selected by ATHEROS_AR231X on which
ATHEROS_AR2315 depends.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42497 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:52:42 +00:00
John Crispin
8606fe1b3d atheros: various space related changes
- remove odd blank lines
 - remove odd spaces after casts
 - fix alignment

 No functional changes.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42496 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:52:36 +00:00
John Crispin
88b1a1983a atheros: rework and cleanup board initialization
- remove odd flags and branching
  - add __init mark
  - make shorter variables names
  - returns true or false from boolean functions
  - unwrap short function declarations
  - unwrap quoted string
  - rename macroses with names in CamelCase

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42495 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:52:26 +00:00