From: John Crispin <blogic@openwrt.org>
To: Sergey Ryazanov <ryazanov.s.a@gmail.com>,
John Crispin <blogic@openwrt.org>
Cc: Ralf Baechle <ralf@linux-mips.org>,
Linux MIPS <linux-mips@linux-mips.org>
Subject: Re: [PATCH v2 01/13] MIPS: ath25: add common parts
Date: Wed, 22 Oct 2014 15:09:15 +0200 [thread overview]
Message-ID: <5447AC7B.7060504@openwrt.org> (raw)
In-Reply-To: <CAHNKnsSp06s9uMC8_2=HprywzfS=oJnGwVNf5LOa+=pZqry+Fw@mail.gmail.com>
On 22/10/2014 15:06, Sergey Ryazanov wrote:
> 2014-10-22 12:31 GMT+04:00 John Crispin <blogic@openwrt.org>:
>> On 22/10/2014 01:03, Sergey Ryazanov wrote:
>>> Add common code for Atheros AR5312 and Atheros AR2315 SoCs
>>> families.
>>>
>>> Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com> ---
>>>
>>> Changes since v1: - rename MIPS machine ar231x -> ath25
>>>
>>> arch/mips/Kbuild.platforms | 1 +
>>> arch/mips/Kconfig | 13 ++++
>>> arch/mips/ath25/Makefile | 11 ++++
>>> arch/mips/ath25/Platform | 6 ++
>>> arch/mips/ath25/board.c | 53
>>> +++++++++++++++ arch/mips/ath25/devices.c
>>> | 11 ++++ arch/mips/ath25/devices.h |
>>> 16 +++++ arch/mips/ath25/prom.c |
>>> 26 ++++++++ arch/mips/include/asm/mach-ath25/ath25.h
>>> | 29 +++++++++
>>> .../include/asm/mach-ath25/cpu-feature-overrides.h | 76
>>> ++++++++++++++++++++++
>>> arch/mips/include/asm/mach-ath25/dma-coherence.h | 64
>>> ++++++++++++++++++ arch/mips/include/asm/mach-ath25/gpio.h
>>> | 16 +++++ arch/mips/include/asm/mach-ath25/war.h |
>>> 25 +++++++ 13 files changed, 347 insertions(+) create mode
>>> 100644 arch/mips/ath25/Makefile create mode 100644
>>> arch/mips/ath25/Platform create mode 100644
>>> arch/mips/ath25/board.c create mode 100644
>>> arch/mips/ath25/devices.c create mode 100644
>>> arch/mips/ath25/devices.h create mode 100644
>>> arch/mips/ath25/prom.c create mode 100644
>>> arch/mips/include/asm/mach-ath25/ath25.h create mode 100644
>>> arch/mips/include/asm/mach-ath25/cpu-feature-overrides.h create
>>> mode 100644 arch/mips/include/asm/mach-ath25/dma-coherence.h
>>> create mode 100644 arch/mips/include/asm/mach-ath25/gpio.h
>>> create mode 100644 arch/mips/include/asm/mach-ath25/war.h
>>>
>>> diff --git a/arch/mips/Kbuild.platforms
>>> b/arch/mips/Kbuild.platforms index f5e18bf..1780c74 100644 ---
>>> a/arch/mips/Kbuild.platforms +++ b/arch/mips/Kbuild.platforms
>>> @@ -2,6 +2,7 @@
>>>
>>> platforms += alchemy platforms += ar7 +platforms += ath25
>>> platforms += ath79 platforms += bcm47xx platforms += bcm63xx
>>> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index
>>> 652bd79..54abb9a 100644 --- a/arch/mips/Kconfig +++
>>> b/arch/mips/Kconfig @@ -96,6 +96,19 @@ config AR7 Support for
>>> the Texas Instruments AR7 System-on-a-Chip family: TNETD7100,
>>> 7200 and 7300.
>>>
>>> +config ATH25 + bool "Atheros AR231x/AR531x SoC support" +
>>> select CEVT_R4K + select CSRC_R4K + select
>>> DMA_NONCOHERENT + select IRQ_CPU + select
>>> SYS_HAS_CPU_MIPS32_R1 + select SYS_SUPPORTS_BIG_ENDIAN +
>>> select SYS_SUPPORTS_32BIT_KERNEL + select
>>> ARCH_REQUIRE_GPIOLIB + help + Support for Atheros
>>> AR231x and Atheros AR531x based boards + config ATH79 bool
>>> "Atheros AR71XX/AR724X/AR913X based boards" select
>>> ARCH_REQUIRE_GPIOLIB diff --git a/arch/mips/ath25/Makefile
>>> b/arch/mips/ath25/Makefile new file mode 100644 index
>>> 0000000..9199fa1 --- /dev/null +++ b/arch/mips/ath25/Makefile
>>> @@ -0,0 +1,11 @@ +# +# This file is subject to the terms and
>>> conditions of the GNU General Public +# License. See the file
>>> "COPYING" in the main directory of this archive +# for more
>>> details. +# +# Copyright (C) 2006 FON Technology, SL. +#
>>> Copyright (C) 2006 Imre Kaloz <kaloz@openwrt.org> +# Copyright
>>> (C) 2006-2009 Felix Fietkau <nbd@openwrt.org> +# + +obj-y +=
>>> board.o prom.o devices.o diff --git a/arch/mips/ath25/Platform
>>> b/arch/mips/ath25/Platform new file mode 100644 index
>>> 0000000..ef3f81f --- /dev/null +++ b/arch/mips/ath25/Platform
>>> @@ -0,0 +1,6 @@ +# +# Atheros AR531X/AR231X WiSoC +#
>>> +platform-$(CONFIG_ATH25) += ath25/ +cflags-$(CONFIG_ATH25)
>>> += -I$(srctree)/arch/mips/include/asm/mach-ath25
>>> +load-$(CONFIG_ATH25) += 0xffffffff80041000 diff --git
>>> a/arch/mips/ath25/board.c b/arch/mips/ath25/board.c new file
>>> mode 100644 index 0000000..cbc6d7b --- /dev/null +++
>>> b/arch/mips/ath25/board.c @@ -0,0 +1,53 @@ +/* + * This file is
>>> subject to the terms and conditions of the GNU General Public +
>>> * License. See the file "COPYING" in the main directory of
>>> this archive + * for more details. + * + * Copyright (C) 2003
>>> Atheros Communications, Inc., All Rights Reserved. + *
>>> Copyright (C) 2006 FON Technology, SL. + * Copyright (C) 2006
>>> Imre Kaloz <kaloz@openwrt.org> + * Copyright (C) 2006-2009
>>> Felix Fietkau <nbd@openwrt.org> + */ + +#include
>>> <linux/init.h> +#include <linux/interrupt.h> +#include
>>> <asm/irq_cpu.h> +#include <asm/reboot.h> +#include
>>> <asm/bootinfo.h> +#include <asm/time.h> + +static void
>>> ath25_halt(void) +{ + local_irq_disable(); + while (1)
>>> + ; +} + +void __init plat_mem_setup(void) +{ +
>>> _machine_halt = ath25_halt; + pm_power_off = ath25_halt; +
>>> + /* Disable data watchpoints */ +
>>> write_c0_watchlo0(0); +} + +asmlinkage void
>>> plat_irq_dispatch(void) +{ +} + +void __init
>>> plat_time_init(void) +{ +} + +unsigned int __cpuinit
>>> get_c0_compare_int(void) +{ + return
>>> CP0_LEGACY_COMPARE_IRQ; +} + +void __init arch_init_irq(void)
>>> +{ + clear_c0_status(ST0_IM); + mips_cpu_irq_init();
>>> +} + diff --git a/arch/mips/ath25/devices.c
>>> b/arch/mips/ath25/devices.c new file mode 100644 index
>>> 0000000..e30afbc --- /dev/null +++ b/arch/mips/ath25/devices.c
>>> @@ -0,0 +1,11 @@ +#include <linux/kernel.h> +#include
>>> <linux/init.h> +#include <asm/bootinfo.h> + +#include
>>> "devices.h" + +const char *get_system_type(void) +{ +
>>> return "Atheros (unknown)"; +} + diff --git
>>> a/arch/mips/ath25/devices.h b/arch/mips/ath25/devices.h new
>>> file mode 100644 index 0000000..edda636 --- /dev/null +++
>>> b/arch/mips/ath25/devices.h @@ -0,0 +1,16 @@ +#ifndef
>>> __ATH25_DEVICES_H +#define __ATH25_DEVICES_H + +#include
>>> <linux/cpu.h> + +static inline bool is_ar2315(void) +{ +
>>> return (current_cpu_data.cputype == CPU_4KEC); +} + +static
>>> inline bool is_ar5312(void) +{ + return !is_ar2315(); +} +
>>> +#endif diff --git a/arch/mips/ath25/prom.c
>>> b/arch/mips/ath25/prom.c new file mode 100644 index
>>> 0000000..edf82be --- /dev/null +++ b/arch/mips/ath25/prom.c @@
>>> -0,0 +1,26 @@ +/* + * This file is subject to the terms and
>>> conditions of the GNU General Public + * License. See the file
>>> "COPYING" in the main directory of this archive + * for more
>>> details. + * + * Copyright MontaVista Software Inc + *
>>> Copyright (C) 2003 Atheros Communications, Inc., All Rights
>>> Reserved. + * Copyright (C) 2006 FON Technology, SL. + *
>>> Copyright (C) 2006 Imre Kaloz <kaloz@openwrt.org> + * Copyright
>>> (C) 2006 Felix Fietkau <nbd@openwrt.org> + */ + +/* + * Prom
>>> setup file for AR5312/AR231x SoCs + */ + +#include
>>> <linux/init.h> +#include <asm/bootinfo.h> + +void __init
>>> prom_init(void) +{ +} + +void __init
>>> prom_free_prom_memory(void) +{ +} diff --git
>>> a/arch/mips/include/asm/mach-ath25/ath25.h
>>> b/arch/mips/include/asm/mach-ath25/ath25.h new file mode
>>> 100644 index 0000000..bd66ce7 --- /dev/null +++
>>> b/arch/mips/include/asm/mach-ath25/ath25.h @@ -0,0 +1,29 @@
>>> +#ifndef __ASM_MACH_ATH25_H +#define __ASM_MACH_ATH25_H +
>>> +#include <linux/io.h> + +#define ATH25_REG_MS(_val, _field)
>>> (((_val) & _field##_M) >> _field##_S) + +static inline u32
>>> ath25_read_reg(u32 reg) +{ + return __raw_readl((void
>>> __iomem *)KSEG1ADDR(reg)); +} + +static inline void
>>> ath25_write_reg(u32 reg, u32 val) +{ + __raw_writel(val,
>>> (void __iomem *)KSEG1ADDR(reg)); +} +
>>
>> using KSEG1ADDR is a bad idea. EVA will obselete these. please
>> use ioremap() to get a void __iomem pointer and then use this as
>> a register base. the current code will also lead to a addr cast
>> with every call of the functions.
>>
> I will investigate that.
>
> And BTW, what the EVA is?
>
Enhanced Virtual Addressing
next prev parent reply other threads:[~2014-10-22 13:09 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-21 23:03 [PATCH v2 00/13] MIPS: support for the Atheros AR231X SoCs Sergey Ryazanov
2014-10-21 23:03 ` [PATCH v2 01/13] MIPS: ath25: add common parts Sergey Ryazanov
2014-10-21 23:36 ` John Crispin
2014-10-22 12:40 ` Sergey Ryazanov
2014-10-22 8:31 ` John Crispin
2014-10-22 13:06 ` Sergey Ryazanov
2014-10-22 13:09 ` John Crispin [this message]
2014-10-21 23:03 ` [PATCH v2 02/13] MIPS: ath25: add basic AR5312 SoC support Sergey Ryazanov
2014-10-21 23:48 ` John Crispin
2014-10-22 0:03 ` John Crispin
2014-10-22 14:11 ` Sergey Ryazanov
2014-10-21 23:03 ` [PATCH v2 03/13] MIPS: ath25: add basic AR2315 " Sergey Ryazanov
2014-10-21 23:03 ` [PATCH v2 04/13] MIPS: ath25: add interrupts handling routines Sergey Ryazanov
2014-10-22 8:26 ` John Crispin
2014-10-22 14:51 ` Sergey Ryazanov
2014-10-22 8:49 ` John Crispin
2014-10-21 23:03 ` [PATCH v2 05/13] MIPS: ath25: add early printk support Sergey Ryazanov
2014-10-21 23:03 ` [PATCH v2 06/13] MIPS: ath25: add UART support Sergey Ryazanov
2014-10-21 23:03 ` [PATCH v2 07/13] MIPS: ath25: add board configuration detection Sergey Ryazanov
2014-10-21 23:03 ` [PATCH v2 08/13] MIPS: ath25: add SoC type detection Sergey Ryazanov
2014-10-21 23:03 ` [PATCH v2 09/13] MIPS: ath25: register various chip devices Sergey Ryazanov
2014-10-22 8:39 ` John Crispin
2014-10-22 15:22 ` Sergey Ryazanov
2014-10-21 23:03 ` [PATCH v2 10/13] MIPS: ath25: add AR2315 PCI host controller driver Sergey Ryazanov
2014-10-22 8:47 ` John Crispin
2014-10-22 15:25 ` Sergey Ryazanov
2014-10-21 23:03 ` [PATCH v2 11/13] ath5k: revert AHB bus support removing Sergey Ryazanov
2014-10-22 12:18 ` Bob Copeland
2014-10-22 12:37 ` Sergey Ryazanov
2014-10-27 18:04 ` John W. Linville
2014-10-28 7:08 ` Sergey Ryazanov
2014-10-28 13:48 ` John W. Linville
2014-10-21 23:03 ` [PATCH v2 12/13] ath5k: update dependencies Sergey Ryazanov
2014-10-27 18:05 ` John W. Linville
2014-10-21 23:03 ` [PATCH v2 13/13] MIPS: ath25: add Wireless device support Sergey Ryazanov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5447AC7B.7060504@openwrt.org \
--to=blogic@openwrt.org \
--cc=linux-mips@linux-mips.org \
--cc=ralf@linux-mips.org \
--cc=ryazanov.s.a@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.