Commit Graph

52 Commits

Author SHA1 Message Date
Felix Fietkau
5e0bd41bbe 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>

SVN-Revision: 41701
2014-07-17 16:36:55 +00:00
Felix Fietkau
04f3012fba 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>

SVN-Revision: 41700
2014-07-17 16:36:52 +00:00
Felix Fietkau
e744878636 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>

SVN-Revision: 41699
2014-07-17 16:36:49 +00:00
Felix Fietkau
572b532e6a 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>

SVN-Revision: 41698
2014-07-17 16:36:46 +00:00
Felix Fietkau
9041410017 atheros[ar231x-eth]: pass phys address of I/O memory via platform res
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

SVN-Revision: 41697
2014-07-17 16:36:43 +00:00
Felix Fietkau
a145d0410b 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>

SVN-Revision: 41696
2014-07-17 16:36:39 +00:00
Felix Fietkau
82e4cde1ce atheros: use irq_set_chained_handler()
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

SVN-Revision: 41695
2014-07-17 16:36:36 +00:00
Felix Fietkau
0a785ebb7d 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>

SVN-Revision: 41694
2014-07-17 16:36:33 +00:00
Felix Fietkau
d29b61b5f0 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>

SVN-Revision: 41693
2014-07-17 16:36:30 +00:00
Felix Fietkau
fceb7f7045 atheros: move AR2315 misc IRQ dispatching to separate function
Align code with AR5312 realization.

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

SVN-Revision: 41692
2014-07-17 16:36:26 +00:00
Felix Fietkau
5c030111a9 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>

SVN-Revision: 41691
2014-07-17 16:36:23 +00:00
Felix Fietkau
e819113e2e 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>

SVN-Revision: 41690
2014-07-17 16:36:19 +00:00
Felix Fietkau
6be418e3e1 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>

SVN-Revision: 41689
2014-07-17 16:36:16 +00:00
Felix Fietkau
4f05d696ad 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>

SVN-Revision: 41688
2014-07-17 16:36:13 +00:00
Felix Fietkau
5ea0cff89c 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>

SVN-Revision: 41687
2014-07-17 16:36:10 +00:00
Felix Fietkau
d0f9972f1c atheros: use correct address space and pointer type for register access
Make sparse happy :)

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

SVN-Revision: 41686
2014-07-17 16:36:07 +00:00
Felix Fietkau
579481b4f5 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>

SVN-Revision: 41685
2014-07-17 16:36:03 +00:00
Felix Fietkau
5e76534b23 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>

SVN-Revision: 41684
2014-07-17 16:35:59 +00:00
John Crispin
bcc7374d7d atheros[ar2315-spiflash]: remove duplicated definitions
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

SVN-Revision: 41325
2014-06-24 18:13:47 +00:00
John Crispin
78bdfeb30b atheros[ar2315-spiflash]: update driver id
Make id more specific and consistent with others platform drivers.

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

SVN-Revision: 41324
2014-06-24 18:13:43 +00:00
John Crispin
69e02dadf1 atheros[ar2315-spiflash]: make local variables and functions static
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

SVN-Revision: 41323
2014-06-24 18:13:39 +00:00
John Crispin
cef87d67f9 atheros[ar2315-spiflash]: I/O fixes
Directly use ioread/iowrite functions to avoid odd dependency. And
carefully annotate I/O memory pointers.

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

SVN-Revision: 41322
2014-06-24 18:13:35 +00:00
John Crispin
cce27e3b95 atheros[ar2315-spiflash]: make spiflash header local
We do not need global access to it, so move it from arch include to the
mtd subdir.

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

SVN-Revision: 41321
2014-06-24 18:13:31 +00:00
John Crispin
08a9fcb0ef atheros[ar2315-spiflash]: pass I/O mem regions via resources
Pass I/O memory regions (flash read and MMR) via platform device
resources array and use them inside spiflash driver.

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

SVN-Revision: 41320
2014-06-24 18:13:27 +00:00
John Crispin
1dab970e8b atheros[ar231x-pci]: do not touch iomem_resource ranges
Moving the start of IO mem to 0x10000000 leads to allocation conflict
with SPI flash memory region, which starts at 0x08000000.

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

SVN-Revision: 41319
2014-06-24 18:13:22 +00:00
John Crispin
79b4598a7f atheros[ar2315-spiflash]: print detected flash size
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

SVN-Revision: 41318
2014-06-24 18:13:17 +00:00
John Crispin
8e3b055b2a atheros[ar2315]: don't detect flash size during board initialization
We should not detect actual flash size during board initialization to
find board config at the end of the flash, just use large enough mapping
size (currently 128 mbit). If mapping size is larger than the actual
flash size, than flash will simply be mapped multiple times. This change
simplifies code by removing duplication and saves about 200 bytes of
uncompressed kernel :)

Tested with Ubnt LS2 board equipped with STM 25p32v6p NOR flash (32 mbit).

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

SVN-Revision: 41317
2014-06-24 18:13:13 +00:00
John Crispin
f8893629ec atheros[ar231x-eth]: merge patch
Merge 3_10-updates.patch into the ar2313_ethernet.patch since it contains
only one ethernet driver fix.

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

SVN-Revision: 41316
2014-06-24 18:13:09 +00:00
Felix Fietkau
75b4c400c7 atheros: fix too short msleep
Use msleep(20) instead of msleep(10) to make code closer to reality
since msleep can sleep for up to 20ms even we request shorter delay.
All updated calls are located in PCI initialization routine which is
called only once upon device boot. So there should be no performance
issues caused by more longer delay.

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

SVN-Revision: 41096
2014-06-10 09:06:25 +00:00
Felix Fietkau
e49636472d atheros: shorten lines
Wrap lines over 80 chars or make them shorter by other ways.

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

SVN-Revision: 41095
2014-06-10 09:06:22 +00:00
Felix Fietkau
a6cf23b76c atheros: constify some static structures
Constify some static structures as suggested by checkpatch.

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

SVN-Revision: 41094
2014-06-10 09:06:18 +00:00
Felix Fietkau
f363db0094 atheros: avoid __FUNCTION__ usage
Use __func__ instead of gcc specific __FUNCTION__ as suggested by
checkpatch.

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

SVN-Revision: 41093
2014-06-10 09:06:14 +00:00
Felix Fietkau
70b2a81a2e atheros: trailing statements fixes
Move trailing statements to next line with indentation as suggested by
checkpatch.

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

SVN-Revision: 41092
2014-06-10 09:06:10 +00:00
Felix Fietkau
0bca3f9547 atheros: spaces fixes
Add missed spaces and remove odd space as suggested by checkpatch.

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

SVN-Revision: 41091
2014-06-10 09:06:06 +00:00
Felix Fietkau
dd31da467f atheros: indent fixes
Various indent fixes suggested by checkpatch: use tabs, use same level
of indentation for switch and case, correct indentation levels.

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

SVN-Revision: 41090
2014-06-10 09:06:03 +00:00
Felix Fietkau
66c64834f8 atheros: fix includes
Remove some unnecessary includes and use <linux/foo.h> instead of
<asm/foo.h> when it possible as suggested by checkpatch.

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

SVN-Revision: 41089
2014-06-10 09:05:58 +00:00
Felix Fietkau
90ca9a582d atheros: various printk(...) fixes
Use more particular functions dev_<level> or pr_<level>(...) insead of
direct printk(...) call. Add KERN_LEVEL to calls what missed it.

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

SVN-Revision: 41088
2014-06-10 09:05:55 +00:00
Felix Fietkau
15a2ebbc38 atheros: various braces fixes
Fix braces location, remove unnecessary empty lines before or after code
block, remove useless braces. All cases are detected by checkpatch.

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

SVN-Revision: 41087
2014-06-10 09:05:51 +00:00
Felix Fietkau
58d70ff9b3 atheros: do not initialize statics to 0 or false
as suggested by checkpatch.

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

SVN-Revision: 41086
2014-06-10 09:05:47 +00:00
Felix Fietkau
8b4323ad31 atheros: remove trailing whitespace
as suggested by checkpatch.

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

SVN-Revision: 41085
2014-06-10 09:05:43 +00:00
Felix Fietkau
3406e402ef atheros: do not assignment in if condition
Remove assignments from if conditions as suggested by checkpatch.

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

SVN-Revision: 41084
2014-06-10 09:05:40 +00:00
Felix Fietkau
5427e47e59 atheros: remove parentheses around return values
Remove parentheses around return values since return is no a function,
as suggested by checkpatch.

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

SVN-Revision: 41083
2014-06-10 09:05:36 +00:00
Felix Fietkau
630eac6638 atheros: parenthesis around complex macroses value
Use parenthesis around complex macroses value as suggested by
checkpatch.

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

SVN-Revision: 41082
2014-06-10 09:05:32 +00:00
Felix Fietkau
cb50efa835 atheros: various comments fixes
Fix comment issues detected by checkpatch. Convert C99 // comments to
ordinary /* ... */ comments. Correct block comments style or convert
them to single line comments.

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

SVN-Revision: 41081
2014-06-10 09:05:28 +00:00
Felix Fietkau
ea9360a5c6 atheros: avoid CamelCase
Change fooBar variables names to foo_bar as suggested by checkpatch,
write few tables names in lower case and correctly place __initdata
keyword.

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

SVN-Revision: 41080
2014-06-10 09:05:25 +00:00
Felix Fietkau
a12ad3ecf1 atheros: remove useless get_c0_compare_int fix
Remove get_c0_compare_int fix which is useless for latest kernels.

Tested on Ubnt Bullet2, which could successfully boot without this
workaround.

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

SVN-Revision: 40593
2014-04-29 16:19:36 +00:00
Gabor Juhos
b6b06000eb kernel: update 3.10 to 3.10.17
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38506
2013-10-23 12:51:05 +00:00
Gabor Juhos
8daeba6d47 atheros: fix kernel warning about usage of reset gpio
During a reset the gpiolib warns about using the reset gpio
without explicit requesting it before:

[  147.930000] ------------[ cut here ]------------
[  147.930000] WARNING: at drivers/gpio/gpiolib.c:103 gpio_ensure_requested+0x68/0xcc()
[  147.930000] autorequest GPIO-5
[  147.930000] Modules linked in: ath5k ath mac80211 ipv6 cfg80211 compat arc4 crypto_blkcipher aead gpio_button_hotplug
[  147.930000] Call Trace:
[  147.930000] [<8004e3bc>] dump_stack+0x8/0x34
[  147.930000] [<80058430>] warn_slowpath_common+0x78/0xa4
[  147.930000] [<800584e4>] warn_slowpath_fmt+0x2c/0x38
[  147.930000] [<80166f18>] gpio_ensure_requested+0x68/0xcc
[  147.930000] [<80167264>] gpio_direction_output+0xdc/0x168
[  147.930000] [<8004aba8>] ar2315_restart+0x28/0x54
[  147.930000] [<80069778>] sys_reboot+0x178/0x1c0
[  147.930000] [<80043670>] stack_done+0x20/0x40
[  147.930000]
[  147.930000] ---[ end trace 2c7a53d8549562d6 ]---

This is fixed with this patch by using another gpiolib api call
which includes the missing request.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38183
2013-09-25 17:51:12 +00:00
Gabor Juhos
0380904acb kernel/3.10: refresh all target patches
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38182
2013-09-25 17:13:24 +00:00
Gabor Juhos
043edd8074 kernel: update 3.10 to 3.10.9
Also refresh 3.10 patches.

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

SVN-Revision: 37832
2013-08-23 17:31:04 +00:00