From 1d3ba686ed706a0e8563878b2ec415e125178607 Mon Sep 17 00:00:00 2001 From: Haavard Skinnemoen Date: Mon, 13 Oct 2008 12:42:25 +0200 Subject: [PATCH 01/10] avr32: Kconfig: Remove pointless if around atstk1000 include The contents of the ATSTK1000 Kconfig file itself is completely conditional, so including it conditionally makes no sense and only adds clutter. Signed-off-by: Haavard Skinnemoen --- arch/avr32/Kconfig | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig index 7c239a916275..a90d85d44fc6 100644 --- a/arch/avr32/Kconfig +++ b/arch/avr32/Kconfig @@ -121,9 +121,7 @@ config BOARD_ATNGW100 select CPU_AT32AP7000 endchoice -if BOARD_ATSTK1000 source "arch/avr32/boards/atstk1000/Kconfig" -endif choice prompt "Boot loader type" From a3bee42f058c2f9fe281df942eff397924630a12 Mon Sep 17 00:00:00 2001 From: Hans-Christian Egtvedt Date: Tue, 1 Jul 2008 08:29:27 +0000 Subject: [PATCH 02/10] avr32: Add support for EVKLCD10X addon boards This patch lets the user enable support for EVKLCD100 and EVKLCD101 (refered to by EVKLCD10X). By enabling EVKLCD10X support the LCD controller and AC97 controller platform devices are added. The user can also choose between the EVKLCD100 (QVGA display) and the EVKLCD101 (VGA display), this is added to automagically select the correct panel timing and resolution parameters. Enabling support for EVKLCD10X addon board will cripple the MCI platform device a bit since they share two GPIO lines (detect and write-protect). These two lines are disabled when EVKLCD10X is enabled. The default configurations are based upon ATNGW100, but with added AC97C and LCDC driver. Virtual terminal is also enabled by default for EVKLCD10X boards. Verified on hardware with a NGW100 + EVKLCD100/101. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen --- arch/avr32/Kconfig | 1 + arch/avr32/boards/atngw100/Kconfig | 35 + arch/avr32/boards/atngw100/Makefile | 3 +- arch/avr32/boards/atngw100/evklcd10x.c | 155 ++ arch/avr32/boards/atngw100/setup.c | 5 + .../configs/atngw100_evklcd100_defconfig | 1264 +++++++++++++++++ .../configs/atngw100_evklcd101_defconfig | 1264 +++++++++++++++++ 7 files changed, 2726 insertions(+), 1 deletion(-) create mode 100644 arch/avr32/boards/atngw100/Kconfig create mode 100644 arch/avr32/boards/atngw100/evklcd10x.c create mode 100644 arch/avr32/configs/atngw100_evklcd100_defconfig create mode 100644 arch/avr32/configs/atngw100_evklcd101_defconfig diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig index a90d85d44fc6..5c6d429505e1 100644 --- a/arch/avr32/Kconfig +++ b/arch/avr32/Kconfig @@ -122,6 +122,7 @@ config BOARD_ATNGW100 endchoice source "arch/avr32/boards/atstk1000/Kconfig" +source "arch/avr32/boards/atngw100/Kconfig" choice prompt "Boot loader type" diff --git a/arch/avr32/boards/atngw100/Kconfig b/arch/avr32/boards/atngw100/Kconfig new file mode 100644 index 000000000000..b3f99477bbeb --- /dev/null +++ b/arch/avr32/boards/atngw100/Kconfig @@ -0,0 +1,35 @@ +# NGW100 customization + +if BOARD_ATNGW100 + +config BOARD_ATNGW100_EVKLCD10X + bool "Add support for EVKLCD10X addon board" + help + This enables support for the EVKLCD100 (QVGA) or EVKLCD101 (VGA) + addon board for the NGW100. By enabling this the LCD controller and + AC97 controller is added as platform devices. + + This choice disables the detect pin and the write-protect pin for the + MCI platform device, since it conflicts with the LCD platform device. + The MCI pins can be reenabled by editing the "add device function" but + this may break the setup for other displays that use these pins. + + Choose 'Y' here if you have a EVKLCD100/101 connected to the NGW100. + +choice + prompt "LCD panel resolution on EVKLCD10X" + depends on BOARD_ATNGW100_EVKLCD10X + default BOARD_ATNGW100_EVKLCD10X_VGA + +config BOARD_ATNGW100_EVKLCD10X_QVGA + bool "QVGA (320x240)" + +config BOARD_ATNGW100_EVKLCD10X_VGA + bool "VGA (640x480)" + +config BOARD_ATNGW100_EVKLCD10X_POW_QVGA + bool "Powertip QVGA (320x240)" + +endchoice + +endif # BOARD_ATNGW100 diff --git a/arch/avr32/boards/atngw100/Makefile b/arch/avr32/boards/atngw100/Makefile index c740aa116755..6376f5322e4d 100644 --- a/arch/avr32/boards/atngw100/Makefile +++ b/arch/avr32/boards/atngw100/Makefile @@ -1 +1,2 @@ -obj-y += setup.o flash.o +obj-y += setup.o flash.o +obj-$(CONFIG_BOARD_ATNGW100_EVKLCD10X) += evklcd10x.o diff --git a/arch/avr32/boards/atngw100/evklcd10x.c b/arch/avr32/boards/atngw100/evklcd10x.c new file mode 100644 index 000000000000..8140b22b3461 --- /dev/null +++ b/arch/avr32/boards/atngw100/evklcd10x.c @@ -0,0 +1,155 @@ +/* + * Board-specific setup code for the ATEVKLCD10X addon board to the ATNGW100 + * Network Gateway + * + * Copyright (C) 2008 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