Commit Graph

392 Commits (f92da9dda6e525e9c4ec6be41d8ca5f59e8bb8df)

Author SHA1 Message Date
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
Felix Fietkau 382ba6ab0c atheros: rename some interrupt control handlers
Rename interrupt control handlers to be consistent with operation names
and add IRQ chips names.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41693 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:36:30 +00:00
Felix Fietkau 8c1855e6d5 atheros: move AR2315 misc IRQ dispatching to separate function
Align code with AR5312 realization.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41692 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:36:26 +00:00
Felix Fietkau c3be065643 atheros: pass UART IRQ number via function argument
UART IRQ number could be different for different SoCs, so make them
configurable.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41691 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:36:23 +00:00
Felix Fietkau 213e2a57b6 atheros[ar231x-eth]: move driver to atheros subdirectory
Move driver code to respective vendor subdirectory and fix config
symbol name.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41690 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:36:19 +00:00
Felix Fietkau d945d89a9c atheros[ar231x-eth]: update MAC and PHY reset method
Pass reset_set and reset_clear callback functions pointers via
platform_data instead of reset register address.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41689 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:36:16 +00:00
Felix Fietkau 9a025dd5c6 atheros[ar2315-wdt]: update I/O handling
* Pass iomem and IRQ via platform device resources
 * Remap iomem and use iowrite32 accessor function

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41688 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:36:13 +00:00
Felix Fietkau fcf32e702a atheros[ar2315-wdt]: update interrupt handling
Acknowledge watchdog interrupt in arch irq dispatcher and remove odd
watchdog enable call from probe function.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41687 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:36:10 +00:00
Felix Fietkau fb557d90cc atheros: use correct address space and pointer type for register access
Make sparse happy :)

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41686 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:36:07 +00:00
Felix Fietkau 75cfa4a0c2 atheros[ar2315-wdt]: rename config symbol
Rename config symbol to AR2315_WDT to avoid confusion with other Atheros
SoCs.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41685 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:36:03 +00:00
Felix Fietkau c02c7b6d67 atheros[ar2315-wdt]: update initialization
* update driver id to be consistent with other ar231x drivers
 * remove odd module_{init,exit}
 * add module metadata (description, name, etc.)

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41684 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-17 16:35:59 +00:00