From 8e4bff4cab0ddac6060645b0715210484d02ff40 Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Wed, 30 Aug 2017 08:25:59 +0000 Subject: Initial file dump from open source release --- arch/avr32/mach-at32ap/Kconfig | 31 + arch/avr32/mach-at32ap/Makefile | 8 + arch/avr32/mach-at32ap/at32ap700x.c | 2361 ++++++++++++++++++++++ arch/avr32/mach-at32ap/clock.c | 307 +++ arch/avr32/mach-at32ap/clock.h | 35 + arch/avr32/mach-at32ap/extint.c | 272 +++ arch/avr32/mach-at32ap/hmatrix.c | 88 + arch/avr32/mach-at32ap/hsmc.c | 282 +++ arch/avr32/mach-at32ap/hsmc.h | 127 ++ arch/avr32/mach-at32ap/include/mach/at32ap700x.h | 245 +++ arch/avr32/mach-at32ap/include/mach/atmel-mci.h | 17 + arch/avr32/mach-at32ap/include/mach/board.h | 115 ++ arch/avr32/mach-at32ap/include/mach/chip.h | 19 + arch/avr32/mach-at32ap/include/mach/cpu.h | 47 + arch/avr32/mach-at32ap/include/mach/gpio.h | 45 + arch/avr32/mach-at32ap/include/mach/hmatrix.h | 55 + arch/avr32/mach-at32ap/include/mach/init.h | 18 + arch/avr32/mach-at32ap/include/mach/io.h | 38 + arch/avr32/mach-at32ap/include/mach/irq.h | 14 + arch/avr32/mach-at32ap/include/mach/pm.h | 27 + arch/avr32/mach-at32ap/include/mach/portmux.h | 30 + arch/avr32/mach-at32ap/include/mach/smc.h | 113 ++ arch/avr32/mach-at32ap/include/mach/sram.h | 30 + arch/avr32/mach-at32ap/intc.c | 200 ++ arch/avr32/mach-at32ap/intc.h | 329 +++ arch/avr32/mach-at32ap/pdc.c | 47 + arch/avr32/mach-at32ap/pio.c | 470 +++++ arch/avr32/mach-at32ap/pio.h | 180 ++ arch/avr32/mach-at32ap/pm-at32ap700x.S | 167 ++ arch/avr32/mach-at32ap/pm.c | 243 +++ arch/avr32/mach-at32ap/pm.h | 112 + arch/avr32/mach-at32ap/sdramc.h | 76 + 32 files changed, 6148 insertions(+) create mode 100644 arch/avr32/mach-at32ap/Kconfig create mode 100644 arch/avr32/mach-at32ap/Makefile create mode 100644 arch/avr32/mach-at32ap/at32ap700x.c create mode 100644 arch/avr32/mach-at32ap/clock.c create mode 100644 arch/avr32/mach-at32ap/clock.h create mode 100644 arch/avr32/mach-at32ap/extint.c create mode 100644 arch/avr32/mach-at32ap/hmatrix.c create mode 100644 arch/avr32/mach-at32ap/hsmc.c create mode 100644 arch/avr32/mach-at32ap/hsmc.h create mode 100644 arch/avr32/mach-at32ap/include/mach/at32ap700x.h create mode 100644 arch/avr32/mach-at32ap/include/mach/atmel-mci.h create mode 100644 arch/avr32/mach-at32ap/include/mach/board.h create mode 100644 arch/avr32/mach-at32ap/include/mach/chip.h create mode 100644 arch/avr32/mach-at32ap/include/mach/cpu.h create mode 100644 arch/avr32/mach-at32ap/include/mach/gpio.h create mode 100644 arch/avr32/mach-at32ap/include/mach/hmatrix.h create mode 100644 arch/avr32/mach-at32ap/include/mach/init.h create mode 100644 arch/avr32/mach-at32ap/include/mach/io.h create mode 100644 arch/avr32/mach-at32ap/include/mach/irq.h create mode 100644 arch/avr32/mach-at32ap/include/mach/pm.h create mode 100644 arch/avr32/mach-at32ap/include/mach/portmux.h create mode 100644 arch/avr32/mach-at32ap/include/mach/smc.h create mode 100644 arch/avr32/mach-at32ap/include/mach/sram.h create mode 100644 arch/avr32/mach-at32ap/intc.c create mode 100644 arch/avr32/mach-at32ap/intc.h create mode 100644 arch/avr32/mach-at32ap/pdc.c create mode 100644 arch/avr32/mach-at32ap/pio.c create mode 100644 arch/avr32/mach-at32ap/pio.h create mode 100644 arch/avr32/mach-at32ap/pm-at32ap700x.S create mode 100644 arch/avr32/mach-at32ap/pm.c create mode 100644 arch/avr32/mach-at32ap/pm.h create mode 100644 arch/avr32/mach-at32ap/sdramc.h (limited to 'arch/avr32/mach-at32ap') diff --git a/arch/avr32/mach-at32ap/Kconfig b/arch/avr32/mach-at32ap/Kconfig new file mode 100644 index 00000000..a7bbcc82 --- /dev/null +++ b/arch/avr32/mach-at32ap/Kconfig @@ -0,0 +1,31 @@ +if PLATFORM_AT32AP + +menu "Atmel AVR32 AP options" + +choice + prompt "AT32AP700x static memory bus width" + depends on CPU_AT32AP700X + default AP700X_16_BIT_SMC + help + Define the width of the AP7000 external static memory interface. + This is used to determine how to mangle the address and/or data + when doing little-endian port access. + + The current code can only support a single external memory bus + width for all chip selects, excluding the flash (which is using + raw access and is thus not affected by any of this.) + +config AP700X_32_BIT_SMC + bool "32 bit" + +config AP700X_16_BIT_SMC + bool "16 bit" + +config AP700X_8_BIT_SMC + bool "8 bit" + +endchoice + +endmenu + +endif # PLATFORM_AT32AP diff --git a/arch/avr32/mach-at32ap/Makefile b/arch/avr32/mach-at32ap/Makefile new file mode 100644 index 00000000..fc09ec4b --- /dev/null +++ b/arch/avr32/mach-at32ap/Makefile @@ -0,0 +1,8 @@ +obj-y += pdc.o clock.o intc.o extint.o pio.o hsmc.o +obj-y += hmatrix.o +obj-$(CONFIG_CPU_AT32AP700X) += at32ap700x.o pm-at32ap700x.o +obj-$(CONFIG_PM) += pm.o + +ifeq ($(CONFIG_PM_DEBUG),y) +CFLAGS_pm.o += -DDEBUG +endif diff --git a/arch/avr32/mach-at32ap/at32ap700x.c b/arch/avr32/mach-at32ap/at32ap700x.c new file mode 100644 index 00000000..7c2f6685 --- /dev/null +++ b/arch/avr32/mach-at32ap/at32ap700x.c @@ -0,0 +1,2361 @@ +/* + * Copyright (C) 2005-2006 Atmel Corporation + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include