Commit Graph

402 Commits (21b07b57fbea4500c739712dd3beb9261a2f7f62)

Author SHA1 Message Date
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
John Crispin 97a5d59817 atheros: update ether addresses handling
- use ether_foo() routines to work with addresses
 - use ETH_ALEN inplace of magic '6'

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42494 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:52:21 +00:00
John Crispin 2113b49116 atheros: remove useless includes
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42493 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:52:14 +00:00
John Crispin e66c3b8925 atheros: ar231x-eth: remove useless IOCTL handlers
These IOCTLs handled in the core now.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42492 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:52:07 +00:00
John Crispin 02d37cc0e7 atheros: ar2315-spiflash: use mutex inplace of spinlock
Use mutex inplace of spinlock to make code simple, also call
mutex_{lock,unlock} explicitly to avoid sparse warning about context
imbalance.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42491 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:52:00 +00:00
John Crispin 5471f2816d atheros: ar2315-spiflash: update initialization
- fill module metadata
  - remove odd module_{init,exit}

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42490 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:51:51 +00:00
John Crispin 0dcf34e7f4 atheros: ar2315-spiflash: use devm_* API to simplify the code
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42489 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:51:46 +00:00
John Crispin 692156cc12 atheros: remove useless return
Remove useless void function return.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42488 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:51:39 +00:00
John Crispin 52c3272bda atheros: remove FSF mailing address
Remove FSF mailing address as suggested by checkpach and place license
URL.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42487 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:51:33 +00:00
John Crispin de8e11ca84 atheros: add blank line after declarations
as suggested by checkpach.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42486 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:51:26 +00:00
John Crispin a52aec95f4 atheros: use static keywork for local code
Make PCI IRQ handler and several structures static as suggested by
sparse.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42485 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:51:10 +00:00
John Crispin bf53842fa3 atheros: use NULL instead of plain integer
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42484 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:51:05 +00:00
John Crispin ea543bff4e atheros: add missing include
Missing this headers cause several sparse "symbol 'foo' was not
declared. Should it be static?" warnings.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42483 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:50:58 +00:00
John Crispin ea4d8f59c8 atheros: avoid extern prototypes
Avoid using of extern prototypes as suggested by checkpatch.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42482 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-12 06:50:53 +00:00
Luka Perkov e5441232a8 kernel: update 3.14 to 3.14.18
Targets were build tested and patches are refreshed.

Signed-off-by: Luka Perkov <luka@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42463 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-10 21:40:19 +00:00
Felix Fietkau a315f10549 atheros: enable the low_mem flag to better deal with 16M RAM devices
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42460 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-10 13:50:10 +00:00
Felix Fietkau 689e691766 atheros: remove linux 3.10
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42426 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-06 17:51:35 +00:00
Luka Perkov 7a2b8a48f6 kernel: update 3.14 to 3.14.16
Signed-off-by: Luka Perkov <luka@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42070 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-08 13:38:22 +00:00
Felix Fietkau 972a7d22d9 atheros: switch kernel version to 3.14
After several tests, 3.14 kernel seems run fine.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41997 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-04 20:54:57 +00:00
Felix Fietkau f69f53b09f atheros: add 3.14 configuration
Created on basis of 3.10 config. Remove few obsolete symbols and add new
upstream symbols. New symbols left in its default state.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41996 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-04 20:54:53 +00:00
Felix Fietkau fe4958b51c atheros: copy 3.10 patches to 3.14 and refresh them
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41995 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-04 20:54:49 +00:00
Felix Fietkau 4a300491c3 atheros: refresh config-3.10
Refresh 3.10 kernel configuration, particulary correct AR2315_WDT symbol
position.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41994 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-04 20:54:39 +00:00
Felix Fietkau e077ecda0b atheros: remove linux 3.8 support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41874 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-29 10:23:59 +00:00
John Crispin a7911af6ef kernel: update to 3.10.49
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41776 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-20 17:31:11 +00:00
Felix Fietkau 20421d29a6 atheros: update macroses names
Use AR2315_ prefix for macroses specific to AR2315/AR2316/AR2317 chips,
use AR5312_ prefix for macroses specific to AR5312/AR2312/AR2313 chips,
and use AR231X_ prefix for common macroses.

This patch should not cause any functional changes, only make clear
which macros is common and which macros is specific.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41701 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:36:55 +00:00
Felix Fietkau 3859f87475 atheros[uart]: pass only physical I/O mem address to 8250 driver
Pass only physical address to 8250 serial port driver and set flag to
remap I/O memory inside the driver. Also fix AR5312 UART base address
definition, which seems specified already mapped.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41700 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:36:52 +00:00
Felix Fietkau 4294c6bb6c atheros[uart]: use 32-bit aligned I/O
Use 32-bit aligned I/O and update base UART address (remove +3 offset).

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41699 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:36:49 +00:00
Felix Fietkau 6c0e82e860 atheros[ar231x-eth]: pass PHY I/O memory via device resources
Pass PHY I/O memory region via platform resources and remap them
unconditionally.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41698 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:36:46 +00:00
Felix Fietkau ca397ef820 atheros[ar231x-eth]: pass phys address of I/O memory via platform res
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41697 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:36:43 +00:00
Felix Fietkau a740ee4ca3 atheros: simplify gpiolib realization
Each SoCs generation has own independent gpiolib realization, so we
have no reason to keep these realizations in semiuniversal form.
Following modifications are made:
 * Remove valid_mask field
 * Remove ar231x_gpio_chip structure
 * Rename AR2315_GPIO_CR to AR2315_GPIO_DIR
 * Fix count of AR5312 GPIOs
 * Simplify gpio_chip methods realization

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41696 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:36:39 +00:00
Felix Fietkau 7a33951800 atheros: use irq_set_chained_handler()
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41695 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:36:36 +00:00
Felix Fietkau b4c90d72b1 atheros: simplify AR2315 misc IRQ (un)masking
Currently AR5312 misc IRQ numbers are used for AR2315+ chips, what cause
us to use switch-case to map IRQ number to ISR bit. Introduce AR2315
specific misc IRQs set and simplify interrupt (un)mask operation.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41694 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:36:33 +00:00