diff options
Diffstat (limited to 'target/linux/at91')
28 files changed, 415 insertions, 732 deletions
diff --git a/target/linux/at91/9260/base-files/etc/config/network b/target/linux/at91/9260/base-files/etc/config/network deleted file mode 100644 index 5800a0bff..000000000 --- a/target/linux/at91/9260/base-files/etc/config/network +++ /dev/null @@ -1,20 +0,0 @@ - -config 'interface' 'loopback' - option 'ifname' 'lo' - option 'proto' 'static' - option 'ipaddr' '127.0.0.1' - option 'netmask' '255.0.0.0' - -config 'interface' 'cfg' - option 'ifname' 'usb0' - option 'proto' 'static' - option 'netmask' '255.255.255.0' - option 'gateway' '192.168.119.1' - option 'ipaddr' '192.168.119.2' - -config 'interface' 'lan' - option 'ifname' 'wlan0' - option 'proto' 'dhcp' - -#config 'interface' 'wan' -# option diff --git a/target/linux/at91/9260/base-files/etc/config/system b/target/linux/at91/9260/base-files/etc/config/system deleted file mode 100644 index ba7e87c62..000000000 --- a/target/linux/at91/9260/base-files/etc/config/system +++ /dev/null @@ -1,9 +0,0 @@ -config 'system' - option 'timezone' 'UTC' - option 'hostname' 'flexibity' - -config timeserver ntp - list server 0.openwrt.pool.ntp.org - list server 1.openwrt.pool.ntp.org - list server 2.openwrt.pool.ntp.org - list server 3.openwrt.pool.ntp.org diff --git a/target/linux/at91/9260/base-files/etc/init.d/custom-user-startup b/target/linux/at91/9260/base-files/etc/init.d/custom-user-startup deleted file mode 100644 index dc9f77c98..000000000 --- a/target/linux/at91/9260/base-files/etc/init.d/custom-user-startup +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh /etc/rc.common -START=90 -# place your own startup commands here -# -# REMEMBER: You *MUST* place an '&' after launching programs you -# that are to continue running in the background. -# -# i.e. -# BAD: upnpd -# GOOD: upnpd & -# -# Failure to do this will result in the startup process halting -# on this file and the diagnostic light remaining on (at least -# for WRT54G(s) models). -# - -# coldplug USB devices -udevtrigger & - -# wait for coldplug and re-generate wireless config -#wifi detect > /etc/config/wireless & - diff --git a/target/linux/at91/9260/config-default b/target/linux/at91/9260/config-default deleted file mode 100644 index b15515792..000000000 --- a/target/linux/at91/9260/config-default +++ /dev/null @@ -1,12 +0,0 @@ -CONFIG_ARCH_AT91SAM9260=y -# CONFIG_MACH_AFEB9260 is not set -# CONFIG_MACH_AT91SAM9260EK is not set -# CONFIG_MACH_CAM60 is not set -# CONFIG_MACH_CPU9260 is not set -CONFIG_MACH_FLEXIBITY=y -CONFIG_MACH_NO_WESTBRIDGE=y -# CONFIG_MACH_QIL_A9260 is not set -# CONFIG_MACH_SAM9_L9260 is not set -# CONFIG_MACH_SNAPPER_9260 is not set -# CONFIG_MACH_USB_A9260 is not set - diff --git a/target/linux/at91/9260/profiles/000-flexibity-minimal.mk b/target/linux/at91/9260/profiles/000-flexibity-minimal.mk deleted file mode 100644 index f8e7a6514..000000000 --- a/target/linux/at91/9260/profiles/000-flexibity-minimal.mk +++ /dev/null @@ -1,18 +0,0 @@ -# -# Copyright (C) 20011-2012 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -define Profile/flexibity-minimal - NAME:=Flexibity Connect (minimal) - PACKAGES:= -endef - -define Profile/flexibity-minimal/Description - Minimal packages set for the Flexibity Connect device. -endef - -$(eval $(call Profile,flexibity-minimal)) - diff --git a/target/linux/at91/9260/profiles/001-flexibity-xwrt.mk b/target/linux/at91/9260/profiles/001-flexibity-xwrt.mk deleted file mode 100644 index 5e2c95e80..000000000 --- a/target/linux/at91/9260/profiles/001-flexibity-xwrt.mk +++ /dev/null @@ -1,26 +0,0 @@ -# -# Copyright (C) 2011-2012 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -define Profile/flexibity-xwrt - NAME:=Flexibity Connect (XWrt) - PACKAGES:=bridge wireless-tools block-mount modprobe dnsmasq hotplug2 udev webif webif-applications webif-flexibity \ - syslog-ng sudo transmission-web miniupnpd nmap-ssl ip ntpclient ntpdate chat crda e169-stats genl hostapd-utils \ - iw madwimax netcat portmap ppp ppp-mod-pppoe pptp tcpdump usb-modem usb-modem-huawei-e175x usb-modem-huawei-eg162 \ - usb-modem-nokia-5800 wpa-cli wpa-supplicant motion badblocks blkid cifsmount disktype dosfsck dosfslabel e2fsprogs \ - fuse-utils mkdosfs nfs-utils ntfs-3g ntfs-3g-utils reiserfsprogs resize2fs sysfsutils tune2fs uuidgen certtool \ - gnutls-utils picocom setterm unrar unzip sqlite3-cli alsa-utils anyremote bluez-utils bzip2 comgt crypto-tools \ - file flock gdbserver gnupg gpioctl gsm-utils gzip huaweiaktbbo hwclock i2c-tools input-utils ldd lsof mdadm \ - module-init-tools mount-utils openssl-util procps psmisc px5g screen strace stress sysstat uboot-envtools \ - usb-modeswitch usb-modeswitch-data usbutils lua -endef - -define Profile/flexibity-xwrt/Description - Complete packages set for the Flexibity Connect device (XWrt). -endef - -$(eval $(call Profile,flexibity-xwrt)) - diff --git a/target/linux/at91/9260/profiles/002-flexibity-luci.mk b/target/linux/at91/9260/profiles/002-flexibity-luci.mk deleted file mode 100644 index 8904140f1..000000000 --- a/target/linux/at91/9260/profiles/002-flexibity-luci.mk +++ /dev/null @@ -1,26 +0,0 @@ -# -# Copyright (C) 2011-2012 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -define Profile/flexibity-luci - NAME:=Flexibity Connect (LuCI) - PACKAGES:=bridge wireless-tools block-mount modprobe dnsmasq hotplug2 udev luci-flexibity \ - syslog-ng sudo transmission-web miniupnpd nmap-ssl ip ntpclient ntpdate chat crda e169-stats genl hostapd-utils \ - iw madwimax netcat portmap ppp ppp-mod-pppoe pptp tcpdump usb-modem usb-modem-huawei-e175x usb-modem-huawei-eg162 \ - usb-modem-nokia-5800 wpa-cli wpa-supplicant motion badblocks blkid cifsmount disktype dosfsck dosfslabel e2fsprogs \ - fuse-utils mkdosfs nfs-utils ntfs-3g ntfs-3g-utils reiserfsprogs resize2fs sysfsutils tune2fs uuidgen certtool \ - gnutls-utils picocom setterm unrar unzip sqlite3-cli alsa-utils anyremote bluez-utils bzip2 comgt crypto-tools \ - file flock gdbserver gnupg gpioctl gsm-utils gzip huaweiaktbbo hwclock i2c-tools input-utils ldd lsof mdadm \ - module-init-tools mount-utils openssl-util procps psmisc px5g screen strace stress sysstat uboot-envtools \ - usb-modeswitch usb-modeswitch-data usbutils lua -endef - -define Profile/flexibity-luci/Description - Complete packages set for the Flexibity Connect device with LuCI. -endef - -$(eval $(call Profile,flexibity-luci)) - diff --git a/target/linux/at91/9260/target.mk b/target/linux/at91/9260/target.mk deleted file mode 100644 index 91a1d7504..000000000 --- a/target/linux/at91/9260/target.mk +++ /dev/null @@ -1,16 +0,0 @@ -# -# Copyright (C) 2011 Flexibity -# Copyright (C) 2012 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -SUBTARGET:=9260 -BOARDNAME:=AT91SAM9260 Based board - -define Target/Description - Build images for AT91SAM9260 based board, supported board: - * Flexibity Connect -endef - diff --git a/target/linux/at91/9263/config-default b/target/linux/at91/9263/config-default deleted file mode 100644 index 15ec97c87..000000000 --- a/target/linux/at91/9263/config-default +++ /dev/null @@ -1,21 +0,0 @@ -CONFIG_ARCH_AT91SAM9263=y -# CONFIG_ARCH_USES_GETTIMEOFFSET is not set -CONFIG_CRC16=y -CONFIG_HAVE_FB_ATMEL=y -CONFIG_I2C=y -# CONFIG_I2C_AT91 is not set -CONFIG_I2C_BOARDINFO=y -CONFIG_JBD2=y -# CONFIG_MACH_AT91SAM9263EK is not set -# CONFIG_MACH_NEOCORE926 is not set -CONFIG_MACH_TQMA9263=y -# CONFIG_MACH_USB_A9263 is not set -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_ATMEL=y -CONFIG_MTD_NAND_ATMEL_ECC_HW=y -# CONFIG_MTD_NAND_ATMEL_ECC_NONE is not set -# CONFIG_MTD_NAND_ATMEL_ECC_SOFT is not set -CONFIG_MTD_NAND_ECC=y -# CONFIG_MTD_SM_COMMON is not set -# CONFIG_USB_FUNCTIONFS is not set -CONFIG_AT91_EARLY_DBGU1=y diff --git a/target/linux/at91/9263/target.mk b/target/linux/at91/9263/target.mk deleted file mode 100644 index fba20877e..000000000 --- a/target/linux/at91/9263/target.mk +++ /dev/null @@ -1,11 +0,0 @@ -# -# Copyright (C) 2011-2012 OpenWrt.org -# - -SUBTARGET:=9263 -BOARDNAME:=AT91SAM9263 Based board - -define Target/Description - Build images for AT91SAM9263 based board, supported board: - * TQ Components TQMa9263 -endef diff --git a/target/linux/at91/9g20/config-default b/target/linux/at91/9g20/config-default deleted file mode 100644 index c2967762d..000000000 --- a/target/linux/at91/9g20/config-default +++ /dev/null @@ -1,7 +0,0 @@ -CONFIG_ARCH_AT91SAM9G20=y -CONFIG_MACH_AT91SAM9G20EK=y -# CONFIG_MACH_AT91SAM9G20EK_2MMC is not set -CONFIG_MACH_ACMENETUSFOXG20=y -CONFIG_MACH_STAMP9G20=y -CONFIG_MACH_STAMP9G20_EVB=y -# CONFIG_MTD_AT91_DATAFLASH_CARD is not set diff --git a/target/linux/at91/9g20/target.mk b/target/linux/at91/9g20/target.mk deleted file mode 100644 index 626436e6a..000000000 --- a/target/linux/at91/9g20/target.mk +++ /dev/null @@ -1,12 +0,0 @@ -# -# Copyright (C) 2006-2012 OpenWrt.org -# - -SUBTARGET:=9g20 -BOARDNAME:=AT91SAM9g20 Based board - -define Target/Description - Build images for AT91SAM9g20 based board, supported board: - * Acmesystems NetusG20 - * Taskit Stamp9G20 Evaluation Board -endef diff --git a/target/linux/at91/Makefile b/target/linux/at91/Makefile index 3c7d85bda..7a412c2e4 100644 --- a/target/linux/at91/Makefile +++ b/target/linux/at91/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2006-2013 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -12,14 +12,11 @@ MAINTAINER:=Claudio Mignanti <c.mignanti@gmail.com> BOARDNAME:=Atmel AT91 FEATURES:=squashfs jffs2 targz ext2 usb CFLAGS:=-Os -pipe -march=armv5te -mtune=arm926ej-s -fno-caller-saves -SUBTARGETS:=9g20 9260 9263 -LINUX_VERSION:=3.3.8 -DEVICE_TYPE= +LINUX_VERSION:=3.8.12 include $(INCLUDE_DIR)/target.mk -DEFAULT_PACKAGES+= kmod-usb-ohci -KERNELNAME:="uImage" +DEFAULT_PACKAGES += kmod-usb-ohci $(eval $(call BuildTarget)) diff --git a/target/linux/at91/config-default b/target/linux/at91/config-default index c30edb458..5d33472f1 100644 --- a/target/linux/at91/config-default +++ b/target/linux/at91/config-default @@ -1,6 +1,5 @@ CONFIG_ALIGNMENT_TRAP=y CONFIG_ARCH_AT91=y -# CONFIG_ARCH_AT91CAP9 is not set # CONFIG_ARCH_AT91RM9200 is not set # CONFIG_ARCH_AT91SAM9260 is not set # CONFIG_ARCH_AT91SAM9261 is not set @@ -9,41 +8,41 @@ CONFIG_ARCH_AT91=y # CONFIG_ARCH_AT91SAM9G20 is not set # CONFIG_ARCH_AT91SAM9G45 is not set # CONFIG_ARCH_AT91SAM9RL is not set -# CONFIG_ARCH_AT91X40 is not set +CONFIG_ARCH_AT91_NONE=y CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y -CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set CONFIG_ARCH_NR_GPIO=0 CONFIG_ARCH_REQUIRE_GPIOLIB=y # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set CONFIG_ARCH_SUSPEND_POSSIBLE=y -# CONFIG_ARCH_USES_GETTIMEOFFSET is not set +# CONFIG_ARCH_VT8500_SINGLE is not set +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y CONFIG_ARM=y +CONFIG_ARM_APPENDED_DTB=y +# CONFIG_ARM_ATAG_DTB_COMPAT is not set # CONFIG_ARM_CPU_SUSPEND is not set CONFIG_ARM_L1_CACHE_SHIFT=5 CONFIG_ARM_NR_BANKS=8 +CONFIG_ARM_PATCH_PHYS_VIRT=y CONFIG_ARM_THUMB=y -# CONFIG_AT91SAM9X_WATCHDOG is not set -CONFIG_AT91_EARLY_DBGU0=y -# CONFIG_AT91_EARLY_USART0 is not set -# CONFIG_AT91_EARLY_USART1 is not set -# CONFIG_AT91_EARLY_USART2 is not set -# CONFIG_AT91_EARLY_USART3 is not set -# CONFIG_AT91_EARLY_USART4 is not set -# CONFIG_AT91_EARLY_USART5 is not set +CONFIG_AT91SAM9X_WATCHDOG=y CONFIG_AT91_PMC_UNIT=y CONFIG_AT91_PROGRAMMABLE_CLOCKS=y +CONFIG_AT91_SAM9G45_RESET=y CONFIG_AT91_SAM9_ALT_RESET=y CONFIG_AT91_TIMER_HZ=100 -# CONFIG_ATMEL_PWM is not set +CONFIG_ATAGS=y # CONFIG_ATMEL_SSC is not set # CONFIG_ATMEL_TCLIB is not set -CONFIG_BCMA_POSSIBLE=y # CONFIG_BLK_DEV is not set # CONFIG_BLK_DEV_INITRD is not set # CONFIG_CACHE_L2X0 is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLONE_BACKWARDS=y CONFIG_CPU_32v5=y CONFIG_CPU_ABRT_EV5TJ=y CONFIG_CPU_ARM926T=y @@ -58,10 +57,18 @@ CONFIG_CPU_PABRT_LEGACY=y CONFIG_CPU_TLB_V4WBI=y CONFIG_CPU_USE_DOMAINS=y CONFIG_CRC16=y +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_DEV_ATMEL_AES is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA is not set +# CONFIG_CRYPTO_DEV_ATMEL_TDES is not set +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_PINCTRL is not set # CONFIG_DEBUG_USER is not set CONFIG_DEVPTS_MULTIPLE_INSTANCES=y -# CONFIG_DW_WATCHDOG is not set +CONFIG_DTC=y CONFIG_EXT4_FS=y CONFIG_FRAME_POINTER=y CONFIG_FS_MBCACHE=y @@ -70,10 +77,13 @@ CONFIG_GENERIC_BUG=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_IO=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y CONFIG_GPIOLIB=y -CONFIG_GPIO_DEVICE=y CONFIG_GPIO_SYSFS=y # CONFIG_HAMRADIO is not set CONFIG_HARDIRQS_SW_RESEND=y @@ -81,16 +91,22 @@ CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y CONFIG_HAVE_AOUT=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y CONFIG_HAVE_ARCH_KGDB=y CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_ARCH_TRACEHOOK=y CONFIG_HAVE_AT91_DBGU0=y -CONFIG_HAVE_AT91_USART3=y -CONFIG_HAVE_AT91_USART4=y -CONFIG_HAVE_AT91_USART5=y +CONFIG_HAVE_AT91_DBGU1=y +CONFIG_HAVE_BPF_JIT=y CONFIG_HAVE_CLK=y CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_DEBUG_KMEMLEAK=y CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FB_ATMEL=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y CONFIG_HAVE_FUNCTION_TRACER=y @@ -103,50 +119,67 @@ CONFIG_HAVE_KERNEL_LZO=y CONFIG_HAVE_KERNEL_XZ=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_HAVE_MEMBLOCK=y -CONFIG_HAVE_NET_MACB=y +CONFIG_HAVE_NET_DSA=y CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_PERF_EVENTS=y CONFIG_HAVE_PROC_CPU=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y -CONFIG_HAVE_SPARSE_IRQ=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_UID16=y +CONFIG_IRQ_DOMAIN=y # CONFIG_ISDN is not set CONFIG_JBD2=y +CONFIG_JFFS2_ZLIB=y CONFIG_KTIME_SCALAR=y -# CONFIG_LEDS is not set # CONFIG_LEDS_ATMEL_PWM is not set CONFIG_LEDS_TRIGGER_HEARTBEAT=y -# CONFIG_MACB is not set -# CONFIG_MACH_ACMENETUSFOXG20 is not set -# CONFIG_MACH_AT91SAM9G20EK is not set -# CONFIG_MACH_AT91SAM_DT is not set -# CONFIG_MACH_CPU9G20 is not set -# CONFIG_MACH_GSIA18S is not set -# CONFIG_MACH_PCONTROL_G20 is not set -# CONFIG_MACH_PORTUXG20 is not set -# CONFIG_MACH_SNAPPER_9260 is not set -# CONFIG_MACH_STAMP9G20 is not set -# CONFIG_MACH_USB_A9G20 is not set +CONFIG_MACB=y +CONFIG_MACH_AT91SAM_DT=y CONFIG_MDIO_BOARDINFO=y -# CONFIG_MFD_T7L66XB is not set # CONFIG_MII is not set CONFIG_MMC=y -CONFIG_MMC_AT91=y -# CONFIG_MMC_ATMELMCI is not set +CONFIG_MMC_ATMELMCI=y CONFIG_MMC_BLOCK=y +CONFIG_MODULES_USE_ELF_REL=y CONFIG_MTD_DATAFLASH=y # CONFIG_MTD_DATAFLASH_OTP is not set # CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_ATMEL=y +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_PHYSMAP_OF is not set +# CONFIG_MTD_SM_COMMON is not set +CONFIG_MULTI_IRQ_HANDLER=y CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_MACH_GPIO_H=y CONFIG_NEED_PER_CPU_KM=y +CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NLS=y +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_DEVICE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_IRQ=y +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=y +CONFIG_OF_NET=y CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_PAGE_OFFSET=0xC0000000 # CONFIG_PCI_SYSCALL is not set +CONFIG_PERCPU_RWSEM=y CONFIG_PERF_USE_VMALLOC=y CONFIG_PHYLIB=y -CONFIG_PHYS_OFFSET=0x0 +CONFIG_PINCONF=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_AT91=y +# CONFIG_PINCTRL_SINGLE is not set +CONFIG_PINMUX=y # CONFIG_PREEMPT_RCU is not set CONFIG_RTC_CLASS=y +# CONFIG_RTC_DRV_AT91RM9200 is not set # CONFIG_RTC_DRV_AT91SAM9 is not set # CONFIG_RTC_DRV_CMOS is not set # CONFIG_SCSI_DMA is not set @@ -155,6 +188,16 @@ CONFIG_SERIAL_ATMEL=y CONFIG_SERIAL_ATMEL_CONSOLE=y CONFIG_SERIAL_ATMEL_PDC=y # CONFIG_SERIAL_ATMEL_TTYAT is not set +# CONFIG_SOC_AT91RM9200 is not set +CONFIG_SOC_AT91SAM9=y +CONFIG_SOC_AT91SAM9260=y +CONFIG_SOC_AT91SAM9261=y +CONFIG_SOC_AT91SAM9263=y +CONFIG_SOC_AT91SAM9G45=y +CONFIG_SOC_AT91SAM9N12=y +CONFIG_SOC_AT91SAM9RL=y +CONFIG_SOC_AT91SAM9X5=y +CONFIG_SPARSE_IRQ=y CONFIG_SPI=y CONFIG_SPI_ATMEL=y CONFIG_SPI_MASTER=y @@ -162,38 +205,24 @@ CONFIG_SPI_SPIDEV=y CONFIG_SPLIT_PTLOCK_CPUS=999999 # CONFIG_STAGING is not set CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_UID16=y -# CONFIG_USB_ARCH_HAS_EHCI is not set +CONFIG_UIDGID_CONVERTED=y # CONFIG_USB_ARCH_HAS_XHCI is not set CONFIG_USB_AT91=y -# CONFIG_USB_CDC_COMPOSITE is not set CONFIG_USB_COMMON=y CONFIG_USB_ETH=y # CONFIG_USB_ETH_EEM is not set CONFIG_USB_ETH_RNDIS=y -# CONFIG_USB_FILE_STORAGE is not set -# CONFIG_USB_FUNCTIONFS is not set -# CONFIG_USB_FUSB300 is not set CONFIG_USB_GADGET=y -# CONFIG_USB_GADGETFS is not set -# CONFIG_USB_GADGET_DEBUG_FILES is not set -# CONFIG_USB_GADGET_DEBUG_FS is not set -CONFIG_USB_GADGET_VBUS_DRAW=2 -# CONFIG_USB_G_DBGP is not set -# CONFIG_USB_G_HID is not set -# CONFIG_USB_G_NCM is not set -# CONFIG_USB_G_PRINTER is not set -# CONFIG_USB_G_SERIAL is not set -# CONFIG_USB_M66592 is not set -# CONFIG_USB_MV_UDC is not set -# CONFIG_USB_NET2272 is not set -# CONFIG_USB_R8A66597 is not set +CONFIG_USB_LIBCOMPOSITE=y CONFIG_USB_SUPPORT=y -# CONFIG_USB_ZERO is not set +CONFIG_USE_OF=y CONFIG_VECTORS_BASE=0xffff0000 # CONFIG_VFP is not set # CONFIG_WLAN is not set -CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_BCJ=y CONFIG_ZBOOT_ROM_BSS=0 CONFIG_ZBOOT_ROM_TEXT=0 CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/at91/files/arch/arm/boot/dts/lmu5000.dts b/target/linux/at91/files/arch/arm/boot/dts/lmu5000.dts new file mode 100644 index 000000000..671f45241 --- /dev/null +++ b/target/linux/at91/files/arch/arm/boot/dts/lmu5000.dts @@ -0,0 +1,125 @@ +/* + * lmu5000.dst - Device Tree file for CalAmp LMU5000 board + * + * Copyright (C) 2013 Adam Porter <porter.adam@gmail.com> + * + * Licensed under GPLv2. + */ +/dts-v1/; +/include/ "at91sam9g20.dtsi" + +/ { + model = "CalAmp LMU5000"; + compatible = "calamp,lmu5000", "atmel,at91sam9g20", "atmel,at91sam9"; + + chosen { + bootargs = "mem=64M console=ttyS0,115200 rootfstype=jffs2"; + }; + + memory { + reg = <0x20000000 0x4000000>; + }; + + clocks { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + main_clock: clock@0 { + compatible = "atmel,osc", "fixed-clock"; + clock-frequency = <18432000>; + }; + }; + + ahb { + apb { + pinctrl@fffff400 { + board { + pinctrl_pck0_as_mck: pck0_as_mck { + atmel,pins = + <2 1 0x2 0x0>; /* PC1 periph B */ + }; + + }; + }; + + dbgu: serial@fffff200 { + status = "okay"; + }; + + usart0: serial@fffb0000 { + pinctrl-0 = + <&pinctrl_usart0 + &pinctrl_usart0_rts + &pinctrl_usart0_cts + &pinctrl_usart0_dtr_dsr + &pinctrl_usart0_dcd + &pinctrl_usart0_ri>; + status = "okay"; + }; + + usart2: serial@fffb8000 { + status = "okay"; + }; + + uart0: serial@fffd4000 { + status = "okay"; + }; + + uart1: serial@fffd8000 { + status = "okay"; + }; + + macb0: ethernet@fffc4000 { + phy-mode = "mii"; + status = "okay"; + }; + + usb1: gadget@fffa4000 { + atmel,vbus-gpio = <&pioC 5 0>; + status = "okay"; + }; + + ssc0: ssc@fffbc000 { + status = "okay"; + pinctrl-0 = <&pinctrl_ssc0_tx>; + }; + + watchdog@fffffd40 { + status = "okay"; + }; + }; + + nand0: nand@40000000 { + nand-bus-width = <8>; + nand-ecc-mode = "soft"; + nand-on-flash-bbt; + status = "okay"; + + kernel@0 { + label = "kernel"; + reg = <0x0 0x400000>; + }; + + rootfs@400000 { + label = "rootfs"; + reg = <0x400000 0x3C00000>; + }; + + user1@4000000 { + label = "user1"; + reg = <0x4000000 0x2000000>; + }; + + user2@6000000 { + label = "user2"; + reg = <0x6000000 0x2000000>; + }; + }; + + usb0: ohci@00500000 { + num-ports = <2>; + status = "okay"; + }; + }; +}; diff --git a/target/linux/at91/files/drivers/misc/at91-adc.c b/target/linux/at91/files/drivers/misc/at91-adc.c deleted file mode 100644 index 90ea8181b..000000000 --- a/target/linux/at91/files/drivers/misc/at91-adc.c +++ /dev/null @@ -1,355 +0,0 @@ -/* - * Driver for ADC on Atmel AT91 SoC Family - * - * Copyright (C) 2010 Claudio Mignanti - c.mignanti@gmail.com - * Based on http://www.at91.com/forum/viewtopic.php/p,9409/#p9409 - * - * Copyright (C) 2010 Stefano Barbato - stefano@codesink.org - * - * 2010/05/18 Antonio Galea - * Sysfs device model, different drivers integration - * - * WISHLIST: - * - concurrent access control - * - add support for dynamic reconfiguration - * - hardware triggers - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation. - * - * --------------------------------------------------------------------------- -*/ - -#include <linux/cdev.h> -#include <linux/clk.h> -#include <linux/fs.h> -#include <linux/gpio.h> -#include <linux/init.h> -#include <linux/module.h> -#include <linux/platform_device.h> -#include <linux/kernel.h> -#include <linux/smp_lock.h> - -#include <asm/io.h> - -#include "at91_adc.h" - -#define DRV_CLASS "at91_adc" - -#define ADC_REQUEST 1 //un-used atm -#define ADC_READ 2 -#define ADC_FREE 3 - -/* Device functions */ -#define at91_adc_read(reg) ioread32(at91_adc_base + (reg)) -#define at91_adc_write(reg, val) iowrite32((val), at91_adc_base + (reg)) -#define AT91_DEFAULT_CONFIG AT91_ADC_SHTIM | \ - AT91_ADC_STARTUP | \ - AT91_ADC_PRESCAL | \ - AT91_ADC_SLEEP - -static void at91_adc_device_release(struct device *dev) {} - -struct platform_device at91_adc_device = { - .name = "at91_adc", - .id = -1, - .dev.release = at91_adc_device_release, -}; - -struct clk *at91_adc_clk; -void __iomem *at91_adc_base; -void __iomem *at91_pioc_base; -static struct cdev *at91_adc_cdev = NULL; -static dev_t at91_adc_devno = 0; -static struct class *at91_adc_class = NULL; - -static int at91_adc_read_chan(int chan){ - int val, sr; - - if(chan<0 || chan>3){ - return -EINVAL; - } - /* disable pull-up resistor */ - iowrite32(1 << chan, at91_pioc_base + 0x60); - - at91_adc_write(AT91_ADC_CHER,AT91_ADC_CH(chan)); // Enable Channel - at91_adc_write(AT91_ADC_CR,AT91_ADC_START); //Start the ADC - - for(sr=0; !(sr & AT91_ADC_EOC(chan)); sr=at91_adc_read(AT91_ADC_SR)) - cpu_relax(); - - val=at91_adc_read(AT91_ADC_CHR(chan)) & AT91_ADC_DATA; //Read up to 10 bits - - return val; -} - -/* PC0 -> AD0 - PC1 -> AD1 - PC2 -> AD2 - PC3 -> AD3 */ -static int mux_chan (int chan, int operation) { - - int pin_chan; - - if(chan<0 || chan>3){ - return -EINVAL; - } - - switch (chan) { - case 0: - pin_chan=AT91_PIN_PC0; - break; - case 1: - pin_chan=AT91_PIN_PC1; - break; - case 2: - pin_chan=AT91_PIN_PC2; - break; - case 3: - pin_chan=AT91_PIN_PC3; - break; - default: - return -EINVAL; - } - - if (operation == 1) //request_chan - at91_set_A_periph(pin_chan, 0); //Mux PIN to GPIO - else //free_chan - at91_set_B_periph(pin_chan, 0); //Mux PIN to GPIO - - return 0; -} - -static int at91_adc_config(int requested_config){ - int actual_config; - - at91_adc_write(AT91_ADC_CR,AT91_ADC_SWRST); //Reset the ADC - at91_adc_write(AT91_ADC_MR,requested_config); //Mode setup - actual_config = at91_adc_read(AT91_ADC_MR); //Read it back - - return (requested_config==actual_config? 0: -EINVAL); -} - -/* Sysfs interface */ -static ssize_t at91_adc_chanX_show( - struct device *dev, struct device_attribute *attr, char *buf ){ - - ssize_t status = 0; - int chan = -1; - int value; - - if(strlen(attr->attr.name)==5 && strncmp(attr->attr.name,"chan",4)==0){ - chan = attr->attr.name[4]-'0'; - } - - if(chan<0 || chan>3){ - return -EIO; - } - - value = at91_adc_read_chan(chan); - status = sprintf(buf, "%d\n", value); - - return status; -} - -static DEVICE_ATTR(chan0, 0444, at91_adc_chanX_show, NULL); -static DEVICE_ATTR(chan1, 0444, at91_adc_chanX_show, NULL); -static DEVICE_ATTR(chan2, 0444, at91_adc_chanX_show, NULL); -static DEVICE_ATTR(chan3, 0444, at91_adc_chanX_show, NULL); - -static const struct attribute *at91_adc_dev_attrs[] = { - &dev_attr_chan0.attr, - &dev_attr_chan1.attr, - &dev_attr_chan2.attr, - &dev_attr_chan3.attr, - NULL, -}; - -static const struct attribute_group at91_adc_dev_attr_group = { - .attrs = (struct attribute **) at91_adc_dev_attrs, -}; - -/* IOCTL interface */ -#ifdef HAVE_UNLOCKED_IOCTL -static long at91_adc_unlocked_ioctl( - struct file *file, unsigned int cmd, unsigned long arg){ -#else -static int at91_adc_ioctl( - struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg){ -#endif - - long retval = 0; - -#ifdef HAVE_UNLOCKED_IOCTL - lock_kernel(); -#endif - - switch (cmd) { - case ADC_REQUEST: - retval = mux_chan ((int)arg, 1); - break; - - case ADC_READ: - retval = at91_adc_read_chan((int)arg); - break; - - case ADC_FREE: - retval = mux_chan ((int)arg, 0); - break; - - default: - retval = -EINVAL; - } - -#ifdef HAVE_UNLOCKED_IOCTL - unlock_kernel(); -#endif - - return retval; -} - -struct file_operations at91_adc_fops = { - .owner = THIS_MODULE, -#ifdef HAVE_UNLOCKED_IOCTL - .unlocked_ioctl = at91_adc_unlocked_ioctl, -#else - .ioctl = at91_adc_ioctl, -#endif -}; - -static void at91_adc_cdev_teardown(void){ - if(at91_adc_class){ - device_destroy(at91_adc_class, at91_adc_devno); - class_destroy(at91_adc_class); - } - - if(at91_adc_devno){ - unregister_chrdev_region(at91_adc_devno,1); - if(at91_adc_cdev){ cdev_del(at91_adc_cdev); } - } - - at91_adc_devno = 0; - at91_adc_cdev = NULL; - at91_adc_class = NULL; - return; -} - -static int at91_adc_cdev_setup(void){ - - int status; - /* alloc a new device number (major: dynamic, minor: 0) */ - status = alloc_chrdev_region(&at91_adc_devno,0,1,at91_adc_device.name); - - if(status){ - goto err; - } - - /* create a new char device */ - at91_adc_cdev = cdev_alloc(); - if(at91_adc_cdev == NULL){ status=-ENOMEM; goto err; } - at91_adc_cdev->owner = THIS_MODULE; - at91_adc_cdev->ops = &at91_adc_fops; - status = cdev_add(at91_adc_cdev,at91_adc_devno,1); - if(status){ - goto err; - } - - /* register the class */ - at91_adc_class = class_create(THIS_MODULE, DRV_CLASS); - if(IS_ERR(at91_adc_class)){ status=-EFAULT; goto err; } - device_create(at91_adc_class, NULL, at91_adc_devno, NULL, at91_adc_device.name); - printk(KERN_INFO "Major: %u; minor: %u\n", \ - MAJOR(at91_adc_devno), MINOR(at91_adc_devno) \ - ); - - return 0; - -err: - at91_adc_cdev_teardown(); - return status; -} - -/* Module init/exit */ -static int __init at91_adc_init(void){ - - int status; - - at91_adc_clk = clk_get(NULL,"adc_clk"); - clk_enable(at91_adc_clk); - - at91_adc_base = ioremap(AT91SAM9260_BASE_ADC,SZ_256); - if(!at91_adc_base){ - status=-ENODEV; - goto fail_no_iomem_adc; - } - - at91_pioc_base = ioremap(AT91_BASE_SYS + AT91_PIOC,SZ_512); - if(!at91_pioc_base){ - status=-ENODEV; - goto fail_no_iomem_pioc; - } - - status = platform_device_register(&at91_adc_device); - if(status){ - goto fail_no_dev; - } - - status = at91_adc_config(AT91_DEFAULT_CONFIG); - if(status){ - goto fail_no_config; - } - - status = sysfs_create_group( - &(at91_adc_device.dev.kobj), &at91_adc_dev_attr_group - ); - - if(status){ - goto fail_no_sysfs; - } - - status = at91_adc_cdev_setup(); - if(status){ - goto fail_no_cdev; - } - - printk(KERN_INFO "Registered device at91_adc.\n"); - return 0; - -fail_no_cdev: -fail_no_sysfs: - // nothing to undo -fail_no_config: - platform_device_unregister(&at91_adc_device); -fail_no_dev: - iounmap(at91_adc_base); -fail_no_iomem_pioc: - iounmap(at91_pioc_base); -fail_no_iomem_adc: - clk_disable(at91_adc_clk); - clk_put(at91_adc_clk); - return status; -} - -static void __exit at91_adc_exit(void){ - - at91_adc_cdev_teardown(); - platform_device_unregister(&at91_adc_device); - iounmap(at91_adc_base); - iounmap(at91_pioc_base); - - clk_disable(at91_adc_clk); - clk_put(at91_adc_clk); - - printk(KERN_INFO "Unregistered device at91_adc.\n"); -} - -module_init(at91_adc_init); -module_exit(at91_adc_exit); - -MODULE_AUTHOR("Paul Kavan"); -MODULE_AUTHOR("Claudio Mignanti"); -MODULE_AUTHOR("Antonio Galea"); -MODULE_AUTHOR("Stefano Barbato"); -MODULE_DESCRIPTION("ADC Driver for the AT91SAM9G20"); -MODULE_LICENSE("GPL"); diff --git a/target/linux/at91/files/drivers/misc/at91_adc.h b/target/linux/at91/files/drivers/misc/at91_adc.h deleted file mode 100644 index 2d6f01d84..000000000 --- a/target/linux/at91/files/drivers/misc/at91_adc.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * include/asm-arm/arch-at91/at91_adc.h - * - * Copyright (C) SAN People - * - * Analog-to-Digital Converter (ADC) registers. - * Based on AT91SAM9260 datasheet revision D. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - */ - -#ifndef AT91_ADC_H -#define AT91_ADC_H - -#define AT91_ADC_CR 0x00 /* Control Register */ -#define AT91_ADC_SWRST (1 << 0) /* Software Reset */ -#define AT91_ADC_START (1 << 1) /* Start Conversion */ - -#define AT91_ADC_MR 0x04 /* Mode Register */ -#define AT91_ADC_TRGEN (1 << 0) /* Trigger Enable */ -#define AT91_ADC_TRGSEL (7 << 1) /* Trigger Selection */ -#define AT91_ADC_TRGSEL_TC0 (0 << 1) -#define AT91_ADC_TRGSEL_TC1 (1 << 1) -#define AT91_ADC_TRGSEL_TC2 (2 << 1) -#define AT91_ADC_TRGSEL_EXTERNAL (6 << 1) -#define AT91_ADC_LOWRES (1 << 4) /* Low Resolution */ -#define AT91_ADC_SLEEP (1 << 5) /* Sleep Mode */ -#define AT91_ADC_PRESCAL (0x3f << 8) /* Prescalar Rate Selection */ -#define AT91_ADC_PRESCAL_(x) ((x) << 8) -#define AT91_ADC_STARTUP (0x1f << 16) /* Startup Up Time */ -#define AT91_ADC_STARTUP_(x) ((x) << 16) -#define AT91_ADC_SHTIM (0xf << 24) /* Sample & Hold Time */ -#define AT91_ADC_SHTIM_(x) ((x) << 24) - -#define AT91_ADC_CHER 0x10 /* Channel Enable Register */ -#define AT91_ADC_CHDR 0x14 /* Channel Disable Register */ -#define AT91_ADC_CHSR 0x18 /* Channel Status Register */ -#define AT91_ADC_CH(n) (1 << (n)) /* Channel Number */ - -#define AT91_ADC_SR 0x1C /* Status Register */ -#define AT91_ADC_EOC(n) (1 << (n)) /* End of Conversion on Channel N */ -#define AT91_ADC_OVRE(n) (1 << ((n) + 8))/* Overrun Error on Channel N */ -#define AT91_ADC_DRDY (1 << 16) /* Data Ready */ -#define AT91_ADC_GOVRE (1 << 17) /* General Overrun Error */ -#define AT91_ADC_ENDRX (1 << 18) /* End of RX Buffer */ -#define AT91_ADC_RXFUFF (1 << 19) /* RX Buffer Full */ - -#define AT91_ADC_LCDR 0x20 /* Last Converted Data Register */ -#define AT91_ADC_LDATA (0x3ff) - -#define AT91_ADC_IER 0x24 /* Interrupt Enable Register */ -#define AT91_ADC_IDR 0x28 /* Interrupt Disable Register */ -#define AT91_ADC_IMR 0x2C /* Interrupt Mask Register */ - -#define AT91_ADC_CHR(n) (0x30 + ((n) * 4)) /* Channel Data Register N */ -#define AT91_ADC_DATA (0x3ff) - -#endif - diff --git a/target/linux/at91/image/Config.in b/target/linux/at91/image/Config.in index 917398f26..54a501dcb 100644 --- a/target/linux/at91/image/Config.in +++ b/target/linux/at91/image/Config.in @@ -1,16 +1,16 @@ config AT91_DFBOOT bool "Build dataflashboot loader" - depends TARGET_at91 + depends on TARGET_at91 default n config AT91_UBOOT bool "Build U-Boot bootloader" - depends TARGET_at91 + depends on TARGET_at91 default n config UBOOT_TARGET string "U-Boot target board" - depends AT91_UBOOT + depends on AT91_UBOOT default "netusg20" help For all supported boards there are ready-to-use default @@ -18,20 +18,20 @@ config UBOOT_TARGET config UBOOT_IPADDR string "IP Address for U-Boot" - depends AT91_UBOOT + depends on AT91_UBOOT default "192.168.0.178" help IP address of device to be used in U-Boot config UBOOT_SERVERIP string "IP Address of TFTP server" - depends AT91_UBOOT + depends on AT91_UBOOT default "192.168.0.232" help IP address of TFTP server for U-Boot config FLEXIBITY_ROOT bool "Build Flexibity RootFS (with embedded kernel)" - depends TARGET_at91_flexibity + depends on TARGET_at91_flexibity default n diff --git a/target/linux/at91/image/Makefile b/target/linux/at91/image/Makefile index 97723bb82..cf175ab2e 100644 --- a/target/linux/at91/image/Makefile +++ b/target/linux/at91/image/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2006-2013 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -18,20 +18,69 @@ define Build/Compile endef define Image/Prepare + cp $(LINUX_DIR)/arch/arm/boot/zImage $(KDIR)/zImage +endef + +define MkuImageDtb + cat $(KDIR)/zImage $(LINUX_DIR)/arch/arm/boot/dts/$(2).dtb > $(KDIR)/zImage-$(1) + mkimage -A arm -T kernel -C none -a 0x20008000 -e 0x20008000 \ + -n "OpenWrt ARM $(LINUX_VERSION)" \ + -d $(KDIR)/zImage-$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1)-uImage +endef + +# Atmel +Image/Build/Kernel/AT91SAM9263EK=$(call MkuImageDtb,9263ek,at91sam9263ek) +Image/Build/Kernel/AT91SAM9G15EK=$(call MkuImageDtb,9g15ek,at91sam9g15ek) +Image/Build/Kernel/AT91SAM9G20EK=$(call MkuImageDtb,9g20ek,at91sam9g20ek) +Image/Build/Kernel/AT91SAM9G20EK-2MMC=$(call MkuImageDtb,9g20ek_2mmc,at91sam9g20ek_2mmc) +Image/Build/Kernel/AT91SAM9G25EK=$(call MkuImageDtb,9g25ek,at91sam9g25ek) +Image/Build/Kernel/AT91SAM9G35EK=$(call MkuImageDtb,9g35ek,at91sam9g35ek) +Image/Build/Kernel/AT91SAM9M10G45EK=$(call MkuImageDtb,9m10g45ek,at91sam9m10g45ek) +Image/Build/Kernel/AT91SAM9X25EK=$(call MkuImageDtb,9x25ek,at91sam9x25ek) +Image/Build/Kernel/AT91SAM9X35EK=$(call MkuImageDtb,9x35ek,at91sam9x35ek) +# CalAmp +Image/Build/Kernel/LMU5000=$(call MkuImageDtb,lmu5000,lmu5000) +# Caloa +Image/Build/Kernel/TNYA9260=$(call MkuImageDtb,tny_a9260,tny_a9260) +Image/Build/Kernel/TNYA9263=$(call MkuImageDtb,tny_a9263,tny_a9263) +Image/Build/Kernel/TNYA9G20=$(call MkuImageDtb,tny_a9g20,tny_a9g20) +Image/Build/Kernel/USBA9260=$(call MkuImageDtb,usb_a9260,usb_a9260) +Image/Build/Kernel/USBA9263=$(call MkuImageDtb,usb_a9263,usb_a9263) +Image/Build/Kernel/USBA9G20=$(call MkuImageDtb,usb_a9g20,usb_a9g20) +# Ethernut +Image/Build/Kernel/ETHERNUT5=$(call MkuImageDtb,ethernut5,ethernut5) + +define Image/Build/Kernel/Default + $(call Image/Build/Kernel/AT91SAM9263EK) + $(call Image/Build/Kernel/AT91SAM9G15EK) + $(call Image/Build/Kernel/AT91SAM9G20EK) + $(call Image/Build/Kernel/AT91SAM9G20EK-2MMC) + $(call Image/Build/Kernel/AT91SAM9G25EK) + $(call Image/Build/Kernel/AT91SAM9G35EK) + $(call Image/Build/Kernel/AT91SAM9M10G45EK) + $(call Image/Build/Kernel/AT91SAM9X25EK) + $(call Image/Build/Kernel/AT91SAM9X35EK) + $(call Image/Build/Kernel/LMU5000) + $(call Image/Build/Kernel/TNYA9260) + $(call Image/Build/Kernel/TNYA9263) + $(call Image/Build/Kernel/TNYA9G20) + $(call Image/Build/Kernel/USBA9260) + $(call Image/Build/Kernel/USBA9263) + $(call Image/Build/Kernel/USBA9G20) + $(call Image/Build/Kernel/ETHERNUT5) endef define Image/BuildKernel - mkdir -p $(BIN_DIR) mkimage -A arm -T kernel -C none -a 0x20008000 -e 0x20008000 -n linux-2.6 \ - -d $(LINUX_DIR)/arch/arm/boot/Image $(BIN_DIR)/$(IMG_PREFIX)-uImage + -d $(LINUX_DIR)/arch/arm/boot/Image $(BIN_DIR)/uImage if [ $(CONFIG_FLEXIBITY_ROOT) ]; then \ - $(INSTALL_BIN) $(BIN_DIR)/$(IMG_PREFIX)-uImage $(TARGET_DIR)/uImage ; \ + $(INSTALL_BIN) $(BIN_DIR)/uImage $(TARGET_DIR)/uImage ; \ fi + $(call Image/Build/Kernel/$(PROFILE)) endef define Image/Build - $(call Image/Build/$(1),$(1)) - mkdir -p $(BIN_DIR) + $(call Image/Build/$(1)) cp $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) endef diff --git a/target/linux/at91/modules.mk b/target/linux/at91/modules.mk index 3f20bb8a4..7866e5fd8 100644 --- a/target/linux/at91/modules.mk +++ b/target/linux/at91/modules.mk @@ -40,7 +40,7 @@ define KernelPackage/at91-adc TITLE:=ADC on atmel SoC DEPENDS:=@TARGET_at91 KCONFIG:=CONFIG_AT91_ADC - FILES:=$(LINUX_DIR)/drivers/misc/at91-adc.ko + FILES:=$(LINUX_DIR)/drivers/iio/adc/at91-adc.ko AUTOLOAD:=$(call AutoLoad,40,at91-adc) endef diff --git a/target/linux/at91/patches/100-ARM-at91-build-dtb-for-LMU5000.patch b/target/linux/at91/patches/100-ARM-at91-build-dtb-for-LMU5000.patch new file mode 100644 index 000000000..e6c4c7231 --- /dev/null +++ b/target/linux/at91/patches/100-ARM-at91-build-dtb-for-LMU5000.patch @@ -0,0 +1,10 @@ +--- a/arch/arm/boot/dts/Makefile ++++ b/arch/arm/boot/dts/Makefile +@@ -22,6 +22,7 @@ dtb-$(CONFIG_ARCH_AT91) += tny_a9g20.dtb + dtb-$(CONFIG_ARCH_AT91) += usb_a9g20.dtb + # sam9g45 + dtb-$(CONFIG_ARCH_AT91) += at91sam9m10g45ek.dtb ++dtb-$(CONFIG_ARCH_AT91) += lmu5000.dtb + dtb-$(CONFIG_ARCH_AT91) += pm9g45.dtb + # sam9n12 + dtb-$(CONFIG_ARCH_AT91) += at91sam9n12ek.dtb diff --git a/target/linux/at91/patches/700-tqma9263-support.patch b/target/linux/at91/patches/700-tqma9263-support.patch index 321fe59a4..4db1ff89a 100644 --- a/target/linux/at91/patches/700-tqma9263-support.patch +++ b/target/linux/at91/patches/700-tqma9263-support.patch @@ -1,6 +1,6 @@ --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig -@@ -335,6 +335,12 @@ config MACH_NEOCORE926 +@@ -358,6 +358,12 @@ config MACH_NEOCORE926 help Select this if you are using the Adeneo Neocore 926 board. @@ -15,7 +15,7 @@ # ---------------------------------------------------------- --- a/arch/arm/mach-at91/Makefile +++ b/arch/arm/mach-at91/Makefile -@@ -58,6 +58,7 @@ obj-$(CONFIG_MACH_AT91SAM9G10EK) += boar +@@ -67,6 +67,7 @@ obj-$(CONFIG_MACH_AT91SAM9G10EK) += boar obj-$(CONFIG_MACH_AT91SAM9263EK) += board-sam9263ek.o obj-$(CONFIG_MACH_USB_A9263) += board-usb-a926x.o obj-$(CONFIG_MACH_NEOCORE926) += board-neocore926.o diff --git a/target/linux/at91/patches/805-free_some_portc_pins.patch b/target/linux/at91/patches/805-free_some_portc_pins.patch index df8e50a03..a9694d1f0 100644 --- a/target/linux/at91/patches/805-free_some_portc_pins.patch +++ b/target/linux/at91/patches/805-free_some_portc_pins.patch @@ -1,6 +1,6 @@ --- a/arch/arm/mach-at91/at91sam9260_devices.c +++ b/arch/arm/mach-at91/at91sam9260_devices.c -@@ -579,7 +579,7 @@ static struct platform_device at91sam926 +@@ -507,7 +507,7 @@ static struct platform_device at91sam926 .num_resources = ARRAY_SIZE(spi1_resources), }; diff --git a/target/linux/at91/patches/900-AT91-Add-external-RTC-for-Flexibity-board.patch b/target/linux/at91/patches/900-AT91-Add-external-RTC-for-Flexibity-board.patch deleted file mode 100644 index 2b67be1e4..000000000 --- a/target/linux/at91/patches/900-AT91-Add-external-RTC-for-Flexibity-board.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- a/arch/arm/mach-at91/board-flexibity.c -+++ b/arch/arm/mach-at91/board-flexibity.c -@@ -1,7 +1,7 @@ - /* - * linux/arch/arm/mach-at91/board-flexibity.c - * -- * Copyright (C) 2010 Flexibity -+ * Copyright (C) 2010-2011 Flexibity - * Copyright (C) 2005 SAN People - * Copyright (C) 2006 Atmel - * -@@ -62,6 +62,13 @@ static struct at91_udc_data __initdata f - .pullup_pin = -EINVAL, /* pull-up driven by UDC */ - }; - -+/* I2C devices */ -+static struct i2c_board_info __initdata flexibity_i2c_devices[] = { -+ { -+ I2C_BOARD_INFO("ds1307", 0x68), -+ }, -+}; -+ - /* SPI devices */ - static struct spi_board_info flexibity_spi_devices[] = { - { /* DataFlash chip */ -@@ -141,6 +148,9 @@ static void __init flexibity_board_init( - at91_add_device_usbh(&flexibity_usbh_data); - /* USB Device */ - at91_add_device_udc(&flexibity_udc_data); -+ /* I2C */ -+ at91_add_device_i2c(flexibity_i2c_devices, -+ ARRAY_SIZE(flexibity_i2c_devices)); - /* SPI */ - at91_add_device_spi(flexibity_spi_devices, - ARRAY_SIZE(flexibity_spi_devices)); diff --git a/target/linux/at91/patches/901-AT91-flexibity-default-leds-to-heartbeat.patch b/target/linux/at91/patches/901-AT91-flexibity-default-leds-to-heartbeat.patch index 59f9bb30e..a97850ac9 100644 --- a/target/linux/at91/patches/901-AT91-flexibity-default-leds-to-heartbeat.patch +++ b/target/linux/at91/patches/901-AT91-flexibity-default-leds-to-heartbeat.patch @@ -1,6 +1,6 @@ --- a/arch/arm/mach-at91/board-flexibity.c +++ b/arch/arm/mach-at91/board-flexibity.c -@@ -94,49 +94,49 @@ static struct gpio_led flexibity_leds[] +@@ -89,49 +89,49 @@ static struct gpio_led flexibity_leds[] .name = "usb1:green", .gpio = AT91_PIN_PA12, .active_low = 1, diff --git a/target/linux/at91/profiles/00-default.mk b/target/linux/at91/profiles/00-default.mk new file mode 100644 index 000000000..3ff040d2e --- /dev/null +++ b/target/linux/at91/profiles/00-default.mk @@ -0,0 +1,16 @@ +# +# Copyright (C) 2013 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define Profile/Default + NAME:=Default Profile +endef + +define Profile/Default/Description + Default package set compatible with most boards. +endef + +$(eval $(call Profile,Default)) diff --git a/target/linux/at91/profiles/atmel.mk b/target/linux/at91/profiles/atmel.mk new file mode 100644 index 000000000..4b14f939e --- /dev/null +++ b/target/linux/at91/profiles/atmel.mk @@ -0,0 +1,86 @@ +# +# Copyright (C) 2013 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define Profile/AT91SAM9263EK + NAME:=Atmel AT91SAM9263-EK +endef +define Profile/AT91SAM9263EK/Description + Atmel AT91SAM9263-EK eval board +endef +$(eval $(call Profile,AT91SAM9263EK)) + + +define Profile/AT91SAM9G15EK + NAME:=Atmel AT91SAM9G15-EK +endef +define Profile/AT91SAM9G15EK/Description + Atmel AT91SAM9G15-EK eval board +endef +$(eval $(call Profile,AT91SAM9G15EK)) + + +define Profile/AT91SAM9G20EK + NAME:=Atmel AT91SAM9G20-EK +endef +define Profile/AT91SAM9G20EK/Description + Atmel AT91SAM9G20-EK eval board +endef +$(eval $(call Profile,AT91SAM9G20EK)) + + +define Profile/AT91SAM9G20EK-2MMC + NAME:=Atmel AT91SAM9G20-EK 2MMC +endef +define Profile/AT91SAM9G20EK-2MMC/Description + Atmel AT91SAM9G20-EK eval board with 2 MMC +endef +$(eval $(call Profile,AT91SAM9G20EK-2MMC)) + + +define Profile/AT91SAM9G25EK + NAME:=Atmel AT91SAM9G25-EK +endef +define Profile/AT91SAM9G25EK/Description + Atmel AT91SAM9G25-EK eval board +endef +$(eval $(call Profile,AT91SAM9G25EK)) + + +define Profile/AT91SAM9G35EK + NAME:=Atmel AT91SAM9G35-EK +endef +define Profile/AT91SAM9G35EK/Description + Atmel AT91SAM9G35-EK eval board +endef +$(eval $(call Profile,AT91SAM9G35EK)) + + +define Profile/AT91SAM9M10G45EK + NAME:=Atmel AT91SAM9M10G45-EK +endef +define Profile/AT91SAM9M10G45EK/Description + Atmel AT91SAM9M10G45-EK eval board +endef +$(eval $(call Profile,AT91SAM9M10G45EK)) + + +define Profile/AT91SAM9X25EK + NAME:=Atmel AT91SAM9X25-EK +endef +define Profile/AT91SAM9X25EK/Description + Atmel AT91SAM9X25-EK eval board +endef +$(eval $(call Profile,AT91SAM9X25EK)) + + +define Profile/AT91SAM9X35EK + NAME:=Atmel AT91SAM9X35-EK +endef +define Profile/AT91SAM9X35EK/Description + Atmel AT91SAM9X35-EK eval board +endef +$(eval $(call Profile,AT91SAM9X35EK)) diff --git a/target/linux/at91/profiles/calamp.mk b/target/linux/at91/profiles/calamp.mk new file mode 100644 index 000000000..33f78e17a --- /dev/null +++ b/target/linux/at91/profiles/calamp.mk @@ -0,0 +1,23 @@ +# +# Copyright (C) 2013 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define Profile/LMU5000 + NAME:=CalAmp LMU5000 + PACKAGES:= \ + kmod-rtc-pcf2123 \ + kmod-usb-acm \ + kmod-usb-serial \ + kmod-usb-serial-option \ + kmod-usb-serial-sierrawireless \ + kmod-gpio-mcp23s08 +endef + +define Profile/LMU5000/Description + CalAmp LMU5000 +endef + +$(eval $(call Profile,LMU5000)) |