Skip to content

Commit

Permalink
ARM: zynq: add support for ARCH_MULTIPLATFORM
Browse files Browse the repository at this point in the history
The majority of changes are necessary to remove dependencies on header
files within arch/arm/mach-zynq/include/mach:

  uncompress.h
    - Deleted. It is unused for ARCH_MULTIPLATFORM builds.

  uart.h:
    - Move uart definitions out of uart.h into debug/zynq.S, which is
      now the only user

  zynq_soc.h:
    - Move SCU address definitions into common.c.
    - Other #defines, such as PERIPHERAL_CLOCK_RATE, TTC0_BASE, etc, are
      unused and can be dropped

Signed-off-by: Josh Cartwright <josh.cartwright@ni.com>
Tested-by: Michal Simek <michal.simek@xilinx.com>
  • Loading branch information
Josh Cartwright authored and Michal Simek committed Nov 21, 2012
1 parent 385f02b commit 9a45eb6
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 143 deletions.
14 changes: 2 additions & 12 deletions arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -955,18 +955,6 @@ config ARCH_VT8500
help
Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip.

config ARCH_ZYNQ
bool "Xilinx Zynq ARM Cortex A9 Platform"
select ARM_AMBA
select ARM_GIC
select COMMON_CLK
select CPU_V7
select GENERIC_CLOCKEVENTS
select ICST
select MIGHT_HAVE_CACHE_L2X0
select USE_OF
help
Support for Xilinx Zynq ARM Cortex A9 Platform
endchoice

menu "Multiple platform selection"
Expand Down Expand Up @@ -1128,6 +1116,8 @@ source "arch/arm/plat-versatile/Kconfig"

source "arch/arm/mach-w90x900/Kconfig"

source "arch/arm/mach-zynq/Kconfig"

# Definitions to make life easier
config ARCH_ACORN
bool
Expand Down
20 changes: 18 additions & 2 deletions arch/arm/include/debug/zynq.S
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,25 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#define UART_CR_OFFSET 0x00 /* Control Register [8:0] */
#define UART_SR_OFFSET 0x2C /* Channel Status [11:0] */
#define UART_FIFO_OFFSET 0x30 /* FIFO [15:0] or [7:0] */

#include <mach/zynq_soc.h>
#include <mach/uart.h>
#define UART_SR_TXFULL 0x00000010 /* TX FIFO full */
#define UART_SR_TXEMPTY 0x00000008 /* TX FIFO empty */

#define UART0_PHYS 0xE0000000
#define UART1_PHYS 0xE0001000
#define UART_SIZE SZ_4K
#define UART_VIRT 0xF0001000

#if IS_ENABLED(CONFIG_DEBUG_ZYNQ_UART1)
# define LL_UART_PADDR UART1_PHYS
#else
# define LL_UART_PADDR UART0_PHYS
#endif

#define LL_UART_VADDR UART_VIRT

.macro addruart, rp, rv, tmp
ldr \rp, =LL_UART_PADDR @ physical
Expand Down
13 changes: 13 additions & 0 deletions arch/arm/mach-zynq/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
config ARCH_ZYNQ
bool "Xilinx Zynq ARM Cortex A9 Platform" if ARCH_MULTI_V7
select ARM_AMBA
select ARM_GIC
select COMMON_CLK
select CPU_V7
select GENERIC_CLOCKEVENTS
select ICST
select MIGHT_HAVE_CACHE_L2X0
select USE_OF
select SPARSE_IRQ
help
Support for Xilinx Zynq ARM Cortex A9 Platform
8 changes: 4 additions & 4 deletions arch/arm/mach-zynq/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@
#include <asm/mach/time.h>
#include <asm/mach-types.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/hardware/gic.h>
#include <asm/hardware/cache-l2x0.h>

#include <mach/zynq_soc.h>
#include "common.h"

static struct of_device_id zynq_of_bus_ids[] __initdata = {
Expand Down Expand Up @@ -68,9 +68,9 @@ static void __init xilinx_irq_init(void)
of_irq_init(irq_match);
}

/* The minimum devices needed to be mapped before the VM system is up and
* running include the GIC, UART and Timer Counter.
*/
#define SCU_PERIPH_PHYS 0xF8F00000
#define SCU_PERIPH_SIZE SZ_8K
#define SCU_PERIPH_VIRT (VMALLOC_END - SCU_PERIPH_SIZE)

static struct map_desc scu_desc __initdata = {
.virtual = SCU_PERIPH_VIRT,
Expand Down
25 changes: 0 additions & 25 deletions arch/arm/mach-zynq/include/mach/uart.h

This file was deleted.

51 changes: 0 additions & 51 deletions arch/arm/mach-zynq/include/mach/uncompress.h

This file was deleted.

49 changes: 0 additions & 49 deletions arch/arm/mach-zynq/include/mach/zynq_soc.h

This file was deleted.

0 comments on commit 9a45eb6

Please sign in to comment.