diff --git a/target/linux/at91/Makefile b/target/linux/at91/Makefile index cae3c6278..d71e0850f 100644 --- a/target/linux/at91/Makefile +++ b/target/linux/at91/Makefile @@ -11,7 +11,7 @@ BOARD:=at91 MAINTAINER:=Claudio Mignanti BOARDNAME:=Microchip (Atmel AT91) FEATURES:=ext4 squashfs targz usb usbgadget ubifs -SUBTARGETS:=sama5 legacy +SUBTARGETS:=sama5d2 sama5d3 sama5d4 legacy KERNEL_PATCHVER:=4.9 diff --git a/target/linux/at91/base-files/lib/at91.sh b/target/linux/at91/base-files/lib/at91.sh index 61921edd1..ea38925ea 100755 --- a/target/linux/at91/base-files/lib/at91.sh +++ b/target/linux/at91/base-files/lib/at91.sh @@ -43,6 +43,12 @@ at91_board_detect() { *"SAMA5D3 Xplained") name="sama5d3_xplained" ;; + *"Atmel SAMA5D27 SOM1 EK") + name="sama5d27_som1_ek" + ;; + *"Atmel SAMA5D2 PTC EK") + name="sama5d2_ptc_ek" + ;; *"SAMA5D2 Xplained") name="sama5d2_xplained" ;; diff --git a/target/linux/at91/config-4.9 b/target/linux/at91/config-4.9 index c0151a591..e483d0f76 100644 --- a/target/linux/at91/config-4.9 +++ b/target/linux/at91/config-4.9 @@ -8,11 +8,7 @@ CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y CONFIG_ARCH_MULTIPLATFORM=y -CONFIG_ARCH_MULTI_CPU_AUTO=y -# CONFIG_ARCH_MULTI_V4 is not set -# CONFIG_ARCH_MULTI_V4T is not set -CONFIG_ARCH_MULTI_V4_V5=y -CONFIG_ARCH_MULTI_V5=y +# CONFIG_ARCH_MULTI_CPU_AUTO is not set CONFIG_ARCH_NR_GPIO=0 # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set @@ -24,70 +20,170 @@ CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_ARCH_WANT_GENERAL_HUGETLB=y 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_AT91_CPUIDLE=y +CONFIG_ARM_CPU_SUSPEND=y CONFIG_ARM_HAS_SG_CHAIN=y -CONFIG_ARM_L1_CACHE_SHIFT=5 +CONFIG_ARM_HEAVY_MB=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_L1_CACHE_SHIFT_6=y +# CONFIG_ARM_LPAE is not set +CONFIG_ARM_PATCH_IDIV=y CONFIG_ARM_PATCH_PHYS_VIRT=y CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_UNWIND=y +CONFIG_ARM_VIRT_EXT=y CONFIG_AT91SAM9X_WATCHDOG=y -CONFIG_ATAGS=y -CONFIG_ATMEL_AIC_IRQ=y +CONFIG_AT91_ADC=y +CONFIG_ATMEL_AIC5_IRQ=y CONFIG_ATMEL_EBI=y CONFIG_ATMEL_PIT=y CONFIG_ATMEL_SDRAMC=y -# CONFIG_ATMEL_TCLIB is not set +CONFIG_ATMEL_SSC=y +CONFIG_ATMEL_TCB_CLKSRC=y +CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 +CONFIG_ATMEL_TCLIB=y CONFIG_AT_HDMAC=y # CONFIG_AT_XDMAC is not set CONFIG_AUTO_ZRELADDR=y -# CONFIG_BLK_DEV_INITRD is not set -# CONFIG_CACHE_L2X0 is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_BACKLIGHT_PWM=y +# CONFIG_BLK_CGROUP is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=4 +CONFIG_BLK_DEV_RAM_SIZE=8192 +CONFIG_BLK_DEV_SD=y +# CONFIG_BPF_SYSCALL is not set +# CONFIG_BRIDGE is not set +CONFIG_CACHE_L2X0=y +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_CLKDEV_LOOKUP=y CONFIG_CLKSRC_OF=y CONFIG_CLKSRC_PROBE=y CONFIG_CLONE_BACKWARDS=y +CONFIG_CMA=y +CONFIG_CMA_AREAS=7 +# CONFIG_CMA_DEBUG is not set +# CONFIG_CMA_DEBUGFS is not set +CONFIG_CMDLINE="console=ttyS0,115200 initrd=0x21100000,25165824 root=/dev/ram0 rw" CONFIG_COMMON_CLK=y CONFIG_COMMON_CLK_AT91=y +CONFIG_COMPACTION=y +CONFIG_COMPAT_BRK=y CONFIG_CONFIGFS_FS=y -CONFIG_CPU_32v5=y -CONFIG_CPU_ABRT_EV5TJ=y -CONFIG_CPU_ARM926T=y -# CONFIG_CPU_CACHE_ROUND_ROBIN is not set -CONFIG_CPU_CACHE_VIVT=y -CONFIG_CPU_COPY_V4WB=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_COREDUMP=y +# CONFIG_CPUSETS is not set +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y CONFIG_CPU_CP15=y CONFIG_CPU_CP15_MMU=y -# CONFIG_CPU_DCACHE_WRITETHROUGH is not set +CONFIG_CPU_HAS_ASID=y # CONFIG_CPU_ICACHE_DISABLE is not set -CONFIG_CPU_PABRT_LEGACY=y -CONFIG_CPU_TLB_V4WBI=y -CONFIG_CPU_USE_DOMAINS=y +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_PM=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_V7=y CONFIG_CRC16=y +# CONFIG_CRC32_SARWATE is not set +CONFIG_CRC32_SLICEBY8=y +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_CCM=y CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_DRBG=y +CONFIG_CRYPTO_DRBG_HMAC=y +CONFIG_CRYPTO_DRBG_MENU=y +CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_GF128MUL=y +CONFIG_CRYPTO_GHASH=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_JITTERENTROPY=y CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=y +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_WORKQUEUE=y -CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DCACHE_WORD_ACCESS=y CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" # CONFIG_DEBUG_UART_8250 is not set -# CONFIG_DEBUG_USER is not set +CONFIG_DEBUG_USER=y +CONFIG_DEFAULT_IOSCHED="noop" +CONFIG_DEFAULT_NOOP=y +CONFIG_DEVKMEM=y +CONFIG_DEVMEM=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y CONFIG_DMADEVICES=y +# CONFIG_DMA_CMA is not set CONFIG_DMA_ENGINE=y CONFIG_DMA_OF=y +CONFIG_DMA_SHARED_BUFFER=y +CONFIG_DNOTIFY=y +CONFIG_DRM=y +CONFIG_DRM_ATMEL_HLCDC=y +CONFIG_DRM_BRIDGE=y +CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_GEM_CMA_HELPER=y +CONFIG_DRM_KMS_CMA_HELPER=y +CONFIG_DRM_KMS_FB_HELPER=y +CONFIG_DRM_KMS_HELPER=y +CONFIG_DRM_PANEL=y +CONFIG_DRM_PANEL_SIMPLE=y +CONFIG_DST_CACHE=y CONFIG_DTC=y +CONFIG_DUMMY_CONSOLE=y CONFIG_EDAC_ATOMIC_SCRUB=y CONFIG_EDAC_SUPPORT=y +CONFIG_EEPROM_AT24=y +CONFIG_ELF_CORE=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_EXPORTFS=y CONFIG_EXT4_FS=y +CONFIG_FANOTIFY=y +CONFIG_FAT_FS=y +CONFIG_FB=y +# CONFIG_FB_ATMEL is not set +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_CMDLINE=y +CONFIG_FB_DEFERRED_IO=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_SYS_IMAGEBLIT=y +CONFIG_FHANDLE=y +CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_FIXED_PHY=y CONFIG_FIX_EARLYCON_MEM=y -CONFIG_FRAME_POINTER=y +CONFIG_FORCE_MAX_ZONEORDER=15 +CONFIG_FRAME_VECTOR=y +CONFIG_FREEZER=y CONFIG_FS_MBCACHE=y +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set CONFIG_GENERIC_ALLOCATOR=y -CONFIG_GENERIC_ATOMIC64=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_EARLY_IOREMAP=y @@ -97,6 +193,7 @@ CONFIG_GENERIC_IRQ_CHIP=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_IRQ_SHOW_LEVEL=y CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_PINCONF=y CONFIG_GENERIC_SCHED_CLOCK=y CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_GENERIC_STRNCPY_FROM_USER=y @@ -104,6 +201,7 @@ CONFIG_GENERIC_STRNLEN_USER=y CONFIG_GPIOLIB=y CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_SYSFS=y +CONFIG_GRACE_PERIOD=y CONFIG_HANDLE_DOMAIN_IRQ=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y @@ -111,12 +209,15 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set CONFIG_HAVE_ARCH_AUDITSYSCALL=y -# CONFIG_HAVE_ARCH_BITREVERSE is not set +CONFIG_HAVE_ARCH_BITREVERSE=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_ARM_SMCCC=y +CONFIG_HAVE_AT91_GENERATED_CLK=y +CONFIG_HAVE_AT91_H32MX=y CONFIG_HAVE_AT91_SMD=y CONFIG_HAVE_AT91_USB_CLK=y CONFIG_HAVE_AT91_UTMI=y @@ -131,6 +232,7 @@ CONFIG_HAVE_DEBUG_KMEMLEAK=y CONFIG_HAVE_DMA_API_DEBUG=y CONFIG_HAVE_DMA_CONTIGUOUS=y CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_HAVE_FB_ATMEL=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y @@ -147,52 +249,117 @@ CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HAVE_PROC_CPU=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_SMP=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_UID16=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HDMI=y +CONFIG_HID=y +CONFIG_HID_GENERIC=y +CONFIG_HW_CONSOLE=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_ATMEL=y CONFIG_HZ_FIXED=0 CONFIG_HZ_PERIODIC=y +CONFIG_I2C=y +CONFIG_I2C_ALGOBIT=y +CONFIG_I2C_AT91=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_GPIO=y +CONFIG_I2C_HELPER_AUTO=y +CONFIG_IIO=y +CONFIG_IIO_BUFFER=y +CONFIG_IIO_KFIFO_BUF=y +CONFIG_IIO_TRIGGER=y +CONFIG_IIO_TRIGGERED_BUFFER=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_INPUT=y +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_KEYBOARD=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_TOUCHSCREEN=y CONFIG_IOMMU_HELPER=y +# CONFIG_IOSCHED_DEADLINE is not set +CONFIG_IP_PNP=y +# CONFIG_IP_PNP_BOOTP is not set +CONFIG_IP_PNP_DHCP=y +# CONFIG_IP_PNP_RARP is not set CONFIG_IRQCHIP=y CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_DEBUG=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_IRQ_WORK=y -# CONFIG_ISDN is not set CONFIG_JBD2=y -CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_FS is not set +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_XZ is not set +CONFIG_KEXEC=y +CONFIG_KEXEC_CORE=y +CONFIG_KEYBOARD_GPIO=y +CONFIG_KEYBOARD_QT1070=y +# CONFIG_LCD_PLATFORM is not set +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_PWM=y +CONFIG_LEDS_TRIGGER_CPU=y +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set +CONFIG_LEDS_TRIGGER_GPIO=y CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=4 CONFIG_LIBFDT=y +CONFIG_LOCALVERSION_AUTO=y +CONFIG_LOCKD=y +CONFIG_LOG_BUF_SHIFT=16 CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y CONFIG_MACB=y +CONFIG_MANDATORY_FILE_LOCKING=y CONFIG_MDIO_BOARDINFO=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_USB_SUPPORT=y +# CONFIG_MEMCG is not set CONFIG_MEMORY=y +CONFIG_MEMORY_ISOLATION=y +CONFIG_MFD_ATMEL_HLCDC=y +CONFIG_MFD_CORE=y CONFIG_MFD_SYSCON=y CONFIG_MICREL_PHY=y +CONFIG_MIGHT_HAVE_CACHE_L2X0=y CONFIG_MIGHT_HAVE_PCI=y +CONFIG_MIGRATION=y CONFIG_MMC=y CONFIG_MMC_ATMELMCI=y CONFIG_MMC_BLOCK=y +# CONFIG_MMC_BLOCK_BOUNCE is not set 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_CFI_AMDSTD is not set +# CONFIG_MTD_CFI_INTELEXT is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_COMPLEX_MAPPINGS is not set CONFIG_MTD_NAND=y CONFIG_MTD_NAND_ATMEL=y CONFIG_MTD_NAND_ECC=y -CONFIG_MTD_PHYSMAP=y +# CONFIG_MTD_PHYSMAP_OF is not set CONFIG_MTD_UBI=y CONFIG_MTD_UBI_BEB_LIMIT=20 -CONFIG_MTD_UBI_BLOCK=y -# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_BLOCK is not set +CONFIG_MTD_UBI_FASTMAP=y # CONFIG_MTD_UBI_GLUEBI is not set CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_MULTI_IRQ_HANDLER=y CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_KUSER_HELPERS=y CONFIG_NEED_PER_CPU_KM=y +CONFIG_NEON=y CONFIG_NLS=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_850=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_UTF8=y CONFIG_NO_BOOTMEM=y +CONFIG_NVMEM=y CONFIG_OF=y CONFIG_OF_ADDRESS=y CONFIG_OF_EARLY_FLATTREE=y @@ -204,7 +371,13 @@ CONFIG_OF_NET=y CONFIG_OF_RESERVED_MEM=y CONFIG_OLD_SIGACTION=y CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OUTER_CACHE=y +CONFIG_OUTER_CACHE_SYNC=y CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_PARTITION_ADVANCED is not set # CONFIG_PCI_DOMAINS_GENERIC is not set # CONFIG_PCI_SYSCALL is not set CONFIG_PERF_USE_VMALLOC=y @@ -212,62 +385,183 @@ CONFIG_PGTABLE_LEVELS=2 CONFIG_PHYLIB=y CONFIG_PINCTRL=y CONFIG_PINCTRL_AT91=y -# CONFIG_PINCTRL_AT91PIO4 is not set +CONFIG_PINCTRL_AT91PIO4=y # CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PL310_ERRATA_588369 is not set +# CONFIG_PL310_ERRATA_727915 is not set +# CONFIG_PL310_ERRATA_753970 is not set +# CONFIG_PL310_ERRATA_769419 is not set +CONFIG_PM=y +CONFIG_PM_ADVANCED_DEBUG=y +CONFIG_PM_CLK=y +CONFIG_PM_DEBUG=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_DEBUG=y +# CONFIG_PM_TEST_SUSPEND is not set CONFIG_POWER_RESET=y CONFIG_POWER_RESET_AT91_POWEROFF=y CONFIG_POWER_RESET_AT91_RESET=y # CONFIG_POWER_RESET_AT91_SAMA5D2_SHDWC is not set CONFIG_POWER_SUPPLY=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_PWM=y +CONFIG_PWM_ATMEL=y +CONFIG_PWM_ATMEL_HLCDC_PWM=y +CONFIG_PWM_ATMEL_TCB=y +CONFIG_PWM_SYSFS=y CONFIG_RATIONAL=y +# CONFIG_RCU_EXPERT is not set # CONFIG_RCU_STALL_COMMON is not set CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y CONFIG_REGMAP_MMIO=y CONFIG_REGMAP_SPI=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_ROOT_NFS=y CONFIG_RTC_CLASS=y -# CONFIG_RTC_DRV_AT91RM9200 is not set +CONFIG_RTC_DRV_AT91RM9200=y # CONFIG_RTC_DRV_AT91SAM9 is not set # CONFIG_RTC_DRV_CMOS is not set CONFIG_RTC_I2C_AND_SPI=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y # CONFIG_SAMA5D4_WATCHDOG is not set # CONFIG_SCHED_INFO is not set -# CONFIG_SCSI_DMA is not set +CONFIG_SCSI=y +# CONFIG_SCSI_LOWLEVEL is not set # CONFIG_SERIAL_8250 is not set CONFIG_SERIAL_ATMEL=y CONFIG_SERIAL_ATMEL_CONSOLE=y CONFIG_SERIAL_ATMEL_PDC=y # CONFIG_SERIAL_ATMEL_TTYAT is not set CONFIG_SERIAL_MCTRL_GPIO=y -CONFIG_SOC_AT91SAM9=y +CONFIG_SG_POOL=y +CONFIG_SLAB=y +# CONFIG_SLUB is not set +CONFIG_SND=y +CONFIG_SND_ARM=y +# CONFIG_SND_AT73C213 is not set +# CONFIG_SND_AT91_SOC_SAM9G20_WM8731 is not set +# CONFIG_SND_AT91_SOC_SAM9X5_WM8731 is not set +CONFIG_SND_ATMEL_SOC=y +# CONFIG_SND_ATMEL_SOC_CLASSD is not set +CONFIG_SND_ATMEL_SOC_DMA=y +# CONFIG_SND_ATMEL_SOC_PDMIC is not set +CONFIG_SND_ATMEL_SOC_SSC=y +CONFIG_SND_ATMEL_SOC_SSC_DMA=y +CONFIG_SND_ATMEL_SOC_WM8904=y +# CONFIG_SND_COMPRESS_OFFLOAD is not set +CONFIG_SND_DMAENGINE_PCM=y +CONFIG_SND_JACK=y +CONFIG_SND_JACK_INPUT_DEV=y +CONFIG_SND_PCM=y +CONFIG_SND_PCM_TIMER=y +CONFIG_SND_SOC=y +CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y +CONFIG_SND_SOC_I2C_AND_SPI=y +CONFIG_SND_SOC_WM8904=y +CONFIG_SND_SPI=y +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_TIMER=y CONFIG_SOC_BUS=y -CONFIG_SOC_SAM_V4_V5=y +# CONFIG_SOC_SAMA5D2 is not set +# CONFIG_SOC_SAMA5D3 is not set +# CONFIG_SOC_SAMA5D4 is not set +CONFIG_SOUND=y CONFIG_SPARSE_IRQ=y CONFIG_SPI=y CONFIG_SPI_ATMEL=y +CONFIG_SPI_BITBANG=y +CONFIG_SPI_GPIO=y CONFIG_SPI_MASTER=y -CONFIG_SPI_SPIDEV=y -CONFIG_SPLIT_PTLOCK_CPUS=999999 +# CONFIG_SQUASHFS is not set +CONFIG_SRAM=y CONFIG_SRCU=y # CONFIG_STAGING is not set +# CONFIG_STANDALONE is not set +CONFIG_SUNRPC=y +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SWAP is not set CONFIG_SWIOTLB=y CONFIG_SWPHY=y +# CONFIG_SWP_EMULATE is not set +# CONFIG_SYN_COOKIES is not set +CONFIG_SYSFS_SYSCALL=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y +# CONFIG_TCP_CONG_ADVANCED is not set +# CONFIG_THUMB2_KERNEL is not set CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_TMPFS_XATTR is not set +CONFIG_TOUCHSCREEN_PROPERTIES=y +CONFIG_UACCESS_WITH_MEMCPY=y CONFIG_UBIFS_FS=y CONFIG_UBIFS_FS_ADVANCED_COMPR=y CONFIG_UBIFS_FS_LZO=y CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UEVENT_HELPER is not set CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" +CONFIG_USB=y +CONFIG_USB_ACM=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +# CONFIG_USB_AT91 is not set +# CONFIG_USB_AUDIO is not set +CONFIG_USB_COMMON=y +CONFIG_USB_CONFIGFS_ACM=y +# CONFIG_USB_CONFIGFS_ECM is not set +# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set +# CONFIG_USB_CONFIGFS_EEM is not set +# CONFIG_USB_CONFIGFS_F_FS is not set +# CONFIG_USB_CONFIGFS_F_HID is not set +# CONFIG_USB_CONFIGFS_F_LB_SS is not set +# CONFIG_USB_CONFIGFS_F_MIDI is not set +# CONFIG_USB_CONFIGFS_F_PRINTER is not set +# CONFIG_USB_CONFIGFS_F_UAC1 is not set +# CONFIG_USB_CONFIGFS_F_UAC2 is not set +# CONFIG_USB_CONFIGFS_F_UVC is not set +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +# CONFIG_USB_CONFIGFS_NCM is not set +# CONFIG_USB_CONFIGFS_OBEX is not set +# CONFIG_USB_CONFIGFS_RNDIS is not set +# CONFIG_USB_CONFIGFS_SERIAL is not set +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD_AT91=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +# CONFIG_USB_ETH is not set +CONFIG_USB_GADGET=y +CONFIG_USB_HID=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_AT91=y +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +# CONFIG_USB_PWC is not set +CONFIG_USB_SERIAL=y +# CONFIG_USB_SERIAL_CONSOLE is not set +CONFIG_USB_SERIAL_FTDI_SIO=y +CONFIG_USB_SERIAL_PL2303=y +CONFIG_USB_STORAGE=y CONFIG_USB_SUPPORT=y CONFIG_USE_OF=y +CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_VECTORS_BASE=0xffff0000 -# CONFIG_VFP is not set +CONFIG_VFAT_FS=y +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_VIDEOMODE_HELPERS=y +# CONFIG_VIDEO_CPIA2 is not set +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VLAN_8021Q is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set CONFIG_WATCHDOG_CORE=y # CONFIG_WLAN is not set -CONFIG_XZ_DEC_ARM=y -CONFIG_XZ_DEC_BCJ=y -CONFIG_ZBOOT_ROM_BSS=0 -CONFIG_ZBOOT_ROM_TEXT=0 +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y diff --git a/target/linux/at91/image/Makefile b/target/linux/at91/image/Makefile index ccaeebe7c..49d93aa97 100644 --- a/target/linux/at91/image/Makefile +++ b/target/linux/at91/image/Makefile @@ -16,14 +16,25 @@ endef ifeq ($(SUBTARGET),legacy) include ./legacy.mk endif -ifeq ($(SUBTARGET),sama5) -include ./sama5.mk +ifeq ($(SUBTARGET),sama5d2) +include ./sama5d2.mk endif +ifeq ($(SUBTARGET),sama5d3) +include ./sama5d3.mk +endif +ifeq ($(SUBTARGET),sama5d4) +include ./sama5d4.mk +endif + +AT91_SD_BOOT_PARTSIZE:=64 +FAT32_BLOCK_SIZE:=1024 +FAT32_BLOCKS:=$(shell echo \ + $$(($(AT91_SD_BOOT_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE)))) define Device/Default $(Device/default-nand) PROFILES := Default - FILESYSTEMS := squashfs ubifs + FILESYSTEMS := squashfs ubifs ext4 DEVICE_DTS := $(1) KERNEL_NAME := zImage KERNEL_SIZE := 4096k @@ -35,6 +46,42 @@ define Device/dtb KERNEL := kernel-bin | lzma | uImage lzma endef +define Build/at91-sdcard + $(if $(findstring ext4,$@), \ + rm -f $@.boot + mkfs.fat -C $@.boot $(FAT32_BLOCKS) + + mcopy -i $@.boot $(KDIR)/zImage ::zImage + + $(foreach dts,$(DEVICE_DTS), \ + mcopy -i $@.boot $(DTS_DIR)/$(dts).dtb \ + ::$(dts).dtb) + + mcopy -i $@.boot \ + $(BIN_DIR)/u-boot-$(DEVICE_NAME:at91-%=%)_mmc/u-boot.bin \ + ::u-boot.bin + + mcopy -i $@.boot \ + $(BIN_DIR)/at91bootstrap-$(DEVICE_NAME:at91-%=%)sd*/at91bootstrap.bin \ + ::BOOT.bin + + ./gen_at91_sdcard_img.sh \ + $@.img \ + $@.boot \ + $(KDIR)/root.ext4 \ + $(AT91_SD_BOOT_PARTSIZE) \ + $(CONFIG_TARGET_ROOTFS_PARTSIZE) + + gzip -nc9 $@.img > $@ + + rm -f $@.img $@.boot ) +endef + +define Device/evaluation-sdimage + IMAGES += sdcard.img.gz + IMAGE/sdcard.img.gz := at91-sdcard +endef + define Device/evaluation KERNEL_INSTALL := 1 KERNEL_SUFFIX := -uImage diff --git a/target/linux/at91/image/sama5.mk b/target/linux/at91/image/sama5.mk deleted file mode 100644 index e51a0bce2..000000000 --- a/target/linux/at91/image/sama5.mk +++ /dev/null @@ -1,86 +0,0 @@ -AT91_SD_BOOT_PARTSIZE:=64 -FAT32_BLOCK_SIZE:=1024 -FAT32_BLOCKS:=$(shell echo \ - $$(($(AT91_SD_BOOT_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE)))) - -define Build/at91-sdcard - rm -f $@.boot - mkfs.fat -C $@.boot $(FAT32_BLOCKS) - - mcopy -i $@.boot $(KDIR)/zImage ::zImage - - $(foreach dts,$(DEVICE_DTS), \ - mcopy -i $@.boot $(DTS_DIR)/$(dts).dtb \ - ::$(dts).dtb; \ - mcopy -i $@.boot \ - $(BIN_DIR)/u-boot-$(dts:at91-%=%)_mmc/u-boot.bin \ - ::u-boot.bin; \ - $(CP) $(BIN_DIR)/at91bootstrap-$(dts:at91-%=%)sd_uboot*/*.bin \ - $@.BOOT.bin; \ - mcopy -i $@.boot $@.BOOT.bin ::BOOT.bin;) - - ./gen_at91_sdcard_img.sh \ - $@.img \ - $@.boot \ - $(KDIR)/root.ext4 \ - $(AT91_SD_BOOT_PARTSIZE) \ - $(CONFIG_TARGET_ROOTFS_PARTSIZE) - - gzip -nc9 $@.img > $@ - - rm -f $@.img $@.boot $@.BOOT.bin -endef - -define Device/evaluation-sdimage - IMAGES += sdcard.img.gz - IMAGE/sdcard.img.gz := at91-sdcard -endef - -define Device/default-nand - BLOCKSIZE := 128k - PAGESIZE := 2048 - SUBPAGESIZE := 2048 - MKUBIFS_OPTS := -m $$(PAGESIZE) -e 124KiB -c 2048 -endef - -define Device/at91-sama5d3_xplained - $(Device/evaluation-dtb) - DEVICE_TITLE := Microchip(Atmel AT91) SAMA5D3 Xplained - KERNEL_SIZE := 6144k - $(Device/evaluation-sdimage) -endef -TARGET_DEVICES += at91-sama5d3_xplained - -define Device/at91-sama5d2_xplained - $(Device/evaluation-dtb) - DEVICE_TITLE := Microchip(Atmel AT91) SAMA5D2 Xplained - KERNEL_SIZE := 6144k - $(Device/evaluation-sdimage) -endef -TARGET_DEVICES += at91-sama5d2_xplained - -define Device/at91-sama5d4_xplained - $(Device/evaluation-dtb) - DEVICE_TITLE := Microchip(Atmel AT91) SAMA5D4 Xplained - KERNEL_SIZE := 6144k - BLOCKSIZE := 256k - PAGESIZE := 4096 - SUBPAGESIZE := 2048 - MKUBIFS_OPTS := -m $$(PAGESIZE) -e 248KiB -c 2082 -x lzo - $(Device/evaluation-sdimage) -endef -TARGET_DEVICES += at91-sama5d4_xplained - -define Device/wb50n - $(Device/evaluation-fit) - DEVICE_TITLE := Laird WB50N - DEVICE_PACKAGES := \ - kmod-mmc-at91 kmod-ath6kl-sdio ath6k-firmware \ - kmod-usb-storage kmod-fs-vfat kmod-fs-msdos \ - kmod-leds-gpio - BLOCKSIZE := 128k - PAGESIZE := 2048 - SUBPAGESIZE := 2048 - MKUBIFS_OPTS := -m $$(PAGESIZE) -e 124KiB -c 955 -endef -TARGET_DEVICES += wb50n diff --git a/target/linux/at91/image/sama5d2.mk b/target/linux/at91/image/sama5d2.mk new file mode 100644 index 000000000..b84144863 --- /dev/null +++ b/target/linux/at91/image/sama5d2.mk @@ -0,0 +1,31 @@ + +define Device/default-nand + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 2048 + MKUBIFS_OPTS := -m $$(PAGESIZE) -e 124KiB -c 2048 +endef + +define Device/at91-sama5d2_xplained + $(Device/evaluation-dtb) + DEVICE_TITLE := Microchip(Atmel AT91) SAMA5D2 Xplained + KERNEL_SIZE := 6144k + $(Device/evaluation-sdimage) +endef +TARGET_DEVICES += at91-sama5d2_xplained + +define Device/at91-sama5d27_som1_ek + $(Device/evaluation-dtb) + DEVICE_TITLE := Microchip(Atmel AT91) SAMA5D27 SOM1 Ek + KERNEL_SIZE := 6144k + $(Device/evaluation-sdimage) +endef +TARGET_DEVICES += at91-sama5d27_som1_ek + +define Device/at91-sama5d2_ptc_ek + $(Device/evaluation-dtb) + DEVICE_TITLE := Microchip(Atmel AT91) SAMA5D2 PTC Ek + KERNEL_SIZE := 6144k + $(Device/evaluation-sdimage) +endef +TARGET_DEVICES += at91-sama5d2_ptc_ek diff --git a/target/linux/at91/image/sama5d3.mk b/target/linux/at91/image/sama5d3.mk new file mode 100644 index 000000000..f48c98103 --- /dev/null +++ b/target/linux/at91/image/sama5d3.mk @@ -0,0 +1,33 @@ + +define Device/default-nand + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 2048 + MKUBIFS_OPTS := -m $$(PAGESIZE) -e 124KiB -c 2048 +endef + +define Device/at91-sama5d3_xplained + $(Device/evaluation-dtb) + DEVICE_TITLE := Microchip(Atmel AT91) SAMA5D3 Xplained + KERNEL_SIZE := 6144k + $(Device/evaluation-sdimage) +endef +TARGET_DEVICES += at91-sama5d3_xplained + +ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"") + ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"") + define Device/wb50n + $(Device/evaluation-fit) + DEVICE_TITLE := Laird WB50N + DEVICE_PACKAGES := \ + kmod-mmc-at91 kmod-ath6kl-sdio ath6k-firmware \ + kmod-usb-storage kmod-fs-vfat kmod-fs-msdos \ + kmod-leds-gpio + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 2048 + MKUBIFS_OPTS := -m $$(PAGESIZE) -e 124KiB -c 955 + endef + TARGET_DEVICES += wb50n + endif +endif diff --git a/target/linux/at91/image/sama5d4.mk b/target/linux/at91/image/sama5d4.mk new file mode 100644 index 000000000..1140c3c4b --- /dev/null +++ b/target/linux/at91/image/sama5d4.mk @@ -0,0 +1,19 @@ + +define Device/default-nand + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 2048 + MKUBIFS_OPTS := -m $$(PAGESIZE) -e 124KiB -c 2048 +endef + +define Device/at91-sama5d4_xplained + $(Device/evaluation-dtb) + DEVICE_TITLE := Microchip(Atmel AT91) SAMA5D4 Xplained + KERNEL_SIZE := 6144k + BLOCKSIZE := 256k + PAGESIZE := 4096 + SUBPAGESIZE := 2048 + MKUBIFS_OPTS := -m $$(PAGESIZE) -e 248KiB -c 2082 + $(Device/evaluation-sdimage) +endef +TARGET_DEVICES += at91-sama5d4_xplained diff --git a/target/linux/at91/legacy/config-default b/target/linux/at91/legacy/config-default index e69de29bb..f53f24e9f 100644 --- a/target/linux/at91/legacy/config-default +++ b/target/linux/at91/legacy/config-default @@ -0,0 +1,60 @@ +# CONFIG_ARCH_MULTI_V4 is not set +CONFIG_ARCH_MULTI_V4T=y +CONFIG_ARCH_MULTI_V4_V5=y +CONFIG_ARCH_MULTI_V5=y +# CONFIG_ARM_AT91_CPUIDLE is not set +CONFIG_ARM_L1_CACHE_SHIFT=5 +# CONFIG_AT91RM9200_WATCHDOG is not set +CONFIG_ATMEL_AIC_IRQ=y +CONFIG_ATMEL_ST=y +CONFIG_AT_XDMAC=y +CONFIG_BACKLIGHT_ATMEL_LCDC=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_CMA_ALIGNMENT=8 +CONFIG_CMA_DEBUGFS=y +CONFIG_CMA_SIZE_MBYTES=16 +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +CONFIG_CPU_32v4T=y +CONFIG_CPU_32v5=y +CONFIG_CPU_ABRT_EV4T=y +CONFIG_CPU_ABRT_EV5TJ=y +CONFIG_CPU_ARM920T=y +CONFIG_CPU_ARM926T=y +# CONFIG_CPU_CACHE_ROUND_ROBIN is not set +CONFIG_CPU_CACHE_V4WT=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_V4WB=y +# CONFIG_CPU_DCACHE_WRITETHROUGH is not set +CONFIG_CPU_NO_EFFICIENT_FFS=y +CONFIG_CPU_PABRT_LEGACY=y +CONFIG_CPU_TLB_V4WBI=y +CONFIG_CPU_USE_DOMAINS=y +CONFIG_CRC7=y +CONFIG_CRC_CCITT=y +CONFIG_CRC_ITU_T=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_DMA_CMA=y +CONFIG_FB_ATMEL=y +CONFIG_FB_BACKLIGHT=y +CONFIG_FB_MODE_HELPERS=y +CONFIG_GENERIC_ATOMIC64=y +# CONFIG_HAVE_ARCH_BITREVERSE is not set +CONFIG_HZ=128 +CONFIG_HZ_FIXED=128 +# CONFIG_LCD_CLASS_DEVICE is not set +CONFIG_MMC_SPI=y +CONFIG_NEED_KUSER_HELPERS=y +CONFIG_RFKILL_REGULATOR=y +CONFIG_RTC_DRV_AT91SAM9=y +# CONFIG_SND_ARM is not set +# CONFIG_SND_DRIVERS is not set +# CONFIG_SND_SPI is not set +CONFIG_SOC_AT91RM9200=y +CONFIG_SOC_AT91SAM9=y +CONFIG_SOC_SAM_V4_V5=y +CONFIG_SPLIT_PTLOCK_CPUS=999999 +CONFIG_TOUCHSCREEN_ADS7846=y +# CONFIG_USB_ATMEL_USBA is not set diff --git a/target/linux/at91/patches-4.9/104-ARM-at91-build-dtb-for-sama5d27-SOM1-Ek.patch b/target/linux/at91/patches-4.9/104-ARM-at91-build-dtb-for-sama5d27-SOM1-Ek.patch new file mode 100644 index 000000000..20c69f39e --- /dev/null +++ b/target/linux/at91/patches-4.9/104-ARM-at91-build-dtb-for-sama5d27-SOM1-Ek.patch @@ -0,0 +1,893 @@ +--- a/Documentation/devicetree/bindings/pinctrl/atmel,at91-pio4-pinctrl.txt ++++ b/Documentation/devicetree/bindings/pinctrl/atmel,at91-pio4-pinctrl.txt +@@ -35,7 +35,12 @@ right representation of the pin. + Optional properties: + - GENERIC_PINCONFIG: generic pinconfig options to use, bias-disable, + bias-pull-down, bias-pull-up, drive-open-drain, input-schmitt-enable, +-input-debounce, output-low, output-high. ++input-debounce, output-low, output-high, drive-strength. ++ ++Concerning the drive-strength property, the values accepted are ++ATMEL_PIO_DRVSTR_LO, ATMEL_PIO_DRVSTR_ME, ATMEL_PIO_DRVSTR_HI. The current ++depends on VDDIOP. You can find the details in the DC Characteristics table ++from the datasheet. + + Example: + +--- a/arch/arm/boot/dts/Makefile ++++ b/arch/arm/boot/dts/Makefile +@@ -49,6 +49,7 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \ + wb45n.dtb + dtb-$(CONFIG_SOC_SAM_V7) += \ + at91-kizbox2.dtb \ ++ at91-sama5d27_som1_ek.dtb \ + at91-sama5d2_xplained.dtb \ + at91-sama5d3_xplained.dtb \ + sama5d31ek.dtb \ +--- /dev/null ++++ b/arch/arm/boot/dts/at91-sama5d27_som1.dtsi +@@ -0,0 +1,175 @@ ++/* ++ * at91-sama5d27_som1.dtsi - Device Tree file for SAMA5D27 SoM1 board ++ * ++ * Copyright (c) 2017, Microchip Technology Inc. ++ * 2017 Cristian Birsan ++ * 2017 Claudiu Beznea ++ * ++ * This file is dual-licensed: you can use it either under the terms ++ * of the GPL or the X11 license, at your option. Note that this dual ++ * licensing only applies to this file, and not this project as a ++ * whole. ++ * ++ * a) This file 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. ++ * ++ * This file is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * Or, alternatively, ++ * ++ * b) Permission is hereby granted, free of charge, to any person ++ * obtaining a copy of this software and associated documentation ++ * files (the "Software"), to deal in the Software without ++ * restriction, including without limitation the rights to use, ++ * copy, modify, merge, publish, distribute, sublicense, and/or ++ * sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following ++ * conditions: ++ * ++ * The above copyright notice and this permission notice shall be ++ * included in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES ++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, ++ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR ++ * OTHER DEALINGS IN THE SOFTWARE. ++ */ ++#include "sama5d2.dtsi" ++#include "sama5d2-pinfunc.h" ++ ++/ { ++ model = "Atmel SAMA5D27 SoM1"; ++ compatible = "atmel,sama5d27-som1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5"; ++ ++ clocks { ++ slow_xtal { ++ clock-frequency = <32768>; ++ }; ++ ++ main_xtal { ++ clock-frequency = <24000000>; ++ }; ++ }; ++ ++ ahb { ++ apb { ++ qspi1: spi@f0024000 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_qspi1_default>; ++ ++ flash@0 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ compatible = "jedec,spi-nor"; ++ reg = <0>; ++ spi-max-frequency = <80000000>; ++ m25p,fast-read; ++ ++ at91bootstrap@00000000 { ++ label = "at91bootstrap"; ++ reg = <0x00000000 0x00010000>; ++ }; ++ ++ bootloader@00010000 { ++ label = "bootloader"; ++ reg = <0x00010000 0x000a0000>; ++ }; ++ ++ bootloaderenv@000b0000 { ++ label = "bootloader env"; ++ reg = <0x000b0000 0x00010000>; ++ }; ++ ++ dtb@000c0000 { ++ label = "device tree"; ++ reg = <0x000c0000 0x0020000>; ++ }; ++ ++ kernel@000e0000 { ++ label = "kernel"; ++ reg = <0x000e0000 0x0400000>; ++ }; ++ }; ++ }; ++ ++ macb0: ethernet@f8008000 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_macb0_default>; ++ phy-mode = "rmii"; ++ ++ ethernet-phy@0 { ++ reg = <0x0>; ++ interrupt-parent = <&pioA>; ++ interrupts = ; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_macb0_phy_irq>; ++ }; ++ }; ++ ++ i2c0: i2c@f8028000 { ++ dmas = <0>, <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_i2c0_default>; ++ status = "okay"; ++ ++ at24@50 { ++ compatible = "24c02"; ++ reg = <0x50>; ++ pagesize = <8>; ++ }; ++ }; ++ ++ pinctrl@fc038000 { ++ pinctrl_i2c0_default: i2c0_default { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_qspi1_default: qspi1_default { ++ sck_cs { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ ++ data { ++ pinmux = , ++ , ++ , ++ ; ++ bias-pull-up; ++ }; ++ }; ++ ++ pinctrl_macb0_default: macb0_default { ++ pinmux = , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_macb0_phy_irq: macb0_phy_irq { ++ pinmux = ; ++ bias-disable; ++ }; ++ }; ++ }; ++ }; ++}; +--- /dev/null ++++ b/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts +@@ -0,0 +1,53 @@ ++/* ++ * at91-sama5d27_som1_ek.dts - Device Tree file for SAMA5D27-SOM1-EK board ++ * ++ * Copyright (c) 2017, Microchip Technology Inc. ++ * 2016 Nicolas Ferre ++ * 2017 Cristian Birsan ++ * 2017 Claudiu Beznea ++ * ++ * This file is dual-licensed: you can use it either under the terms ++ * of the GPL or the X11 license, at your option. Note that this dual ++ * licensing only applies to this file, and not this project as a ++ * whole. ++ * ++ * a) This file 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. ++ * ++ * This file is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * Or, alternatively, ++ * ++ * b) Permission is hereby granted, free of charge, to any person ++ * obtaining a copy of this software and associated documentation ++ * files (the "Software"), to deal in the Software without ++ * restriction, including without limitation the rights to use, ++ * copy, modify, merge, publish, distribute, sublicense, and/or ++ * sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following ++ * conditions: ++ * ++ * The above copyright notice and this permission notice shall be ++ * included in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES ++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, ++ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR ++ * OTHER DEALINGS IN THE SOFTWARE. ++ */ ++/dts-v1/; ++#include "at91-sama5d27_som1_ek_common.dtsi" ++ ++/ { ++ model = "Atmel SAMA5D27 SOM1 EK"; ++ compatible = "atmel,sama5d27-som1-ek", "atmel,sama5d27-som1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5"; ++}; +--- /dev/null ++++ b/arch/arm/boot/dts/at91-sama5d27_som1_ek_common.dtsi +@@ -0,0 +1,619 @@ ++/* ++ * at91-sama5d27_som1_ek_common.dtsi - Device Tree file for SAMA5D27-SOM1-EK board ++ * ++ * Copyright (c) 2017, Microchip Technology Inc. ++ * 2016 Nicolas Ferre ++ * 2017 Cristian Birsan ++ * 2017 Claudiu Beznea ++ * ++ * This file is dual-licensed: you can use it either under the terms ++ * of the GPL or the X11 license, at your option. Note that this dual ++ * licensing only applies to this file, and not this project as a ++ * whole. ++ * ++ * a) This file 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. ++ * ++ * This file is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * Or, alternatively, ++ * ++ * b) Permission is hereby granted, free of charge, to any person ++ * obtaining a copy of this software and associated documentation ++ * files (the "Software"), to deal in the Software without ++ * restriction, including without limitation the rights to use, ++ * copy, modify, merge, publish, distribute, sublicense, and/or ++ * sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following ++ * conditions: ++ * ++ * The above copyright notice and this permission notice shall be ++ * included in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES ++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, ++ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR ++ * OTHER DEALINGS IN THE SOFTWARE. ++ */ ++#include "at91-sama5d27_som1.dtsi" ++#include ++#include ++#include ++ ++/ { ++ model = "Atmel SAMA5D27 SOM1 EK"; ++ compatible = "atmel,sama5d27-som1-ek", "atmel,sama5d27-som1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5"; ++ ++ aliases { ++ serial0 = &uart1; /* DBGU */ ++ serial1 = &uart4; /* mikro BUS 1 */ ++ serial2 = &uart2; /* mikro BUS 2 */ ++ i2c1 = &i2c1; ++ i2c2 = &i2c2; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ ahb { ++ usb0: gadget@00300000 { ++ atmel,vbus-gpio = <&pioA PIN_PD20 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_usba_vbus>; ++ status = "okay"; ++ }; ++ ++ usb1: ohci@00400000 { ++ num-ports = <3>; ++ atmel,vbus-gpio = <0 /* &pioA PIN_PD20 GPIO_ACTIVE_HIGH */ ++ &pioA PIN_PA27 GPIO_ACTIVE_HIGH ++ 0 ++ >; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_usb_default>; ++ status = "okay"; ++ }; ++ ++ usb2: ehci@00500000 { ++ status = "okay"; ++ }; ++ ++ sdmmc0: sdio-host@a0000000 { ++ bus-width = <8>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_sdmmc0_default>; ++ status = "okay"; ++ }; ++ ++ sdmmc1: sdio-host@b0000000 { ++ bus-width = <4>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_sdmmc1_default>; ++ status = "okay"; ++ }; ++ ++ apb { ++ hlcdc: hlcdc@f0000000 { ++ status = "disabled"; ++ ++ hlcdc-display-controller { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb>; ++ }; ++ ++ hlcdc_pwm: hlcdc-pwm { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_lcd_pwm>; ++ }; ++ }; ++ ++ pmc: pmc@f0014000 { ++ pmc_fast_restart { ++ compatible = "atmel,sama5d2-pmc-fast-startup"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ atmel,wakeup-rtc-timer; ++ ++ wkpin: input@0 { ++ reg = <0>; ++ }; ++ ++ gmac_wol: input@10 { ++ reg = <10>; ++ atmel,wakeup-active-high; ++ }; ++ }; ++ }; ++ ++ isc: isc@f0008000 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_isc_base &pinctrl_isc_data_8bit &pinctrl_isc_data_9_10 &pinctrl_isc_data_11_12>; ++ status = "okay"; ++ }; ++ ++ qspi1: spi@f0024000 { ++ status = "okay"; ++ }; ++ ++ spi0: spi@f8000000 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_spi0_default>; ++ status = "okay"; ++ }; ++ ++ macb0: ethernet@f8008000 { ++ status = "okay"; ++ }; ++ ++ uart1: serial@f8020000 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_uart1_default>; ++ atmel,use-dma-rx; ++ atmel,use-dma-tx; ++ status = "okay"; ++ }; ++ ++ uart2: serial@f8024000 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_mikrobus2_uart>; ++ atmel,use-dma-rx; ++ atmel,use-dma-tx; ++ status = "okay"; ++ }; ++ ++ pwm0: pwm@f802c000 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_mikrobus1_pwm &pinctrl_mikrobus2_pwm>; ++ status = "disabled"; /* Conflict with leds. */ ++ }; ++ ++ flx1: flexcom@f8038000 { ++ atmel,flexcom-mode = ; ++ status = "okay"; ++ ++ i2c2: i2c@600 { ++ compatible = "atmel,sama5d2-i2c"; ++ reg = <0x600 0x200>; ++ interrupts = <20 IRQ_TYPE_LEVEL_HIGH 7>; ++ dmas = <0>, <0>; ++ dma-names = "tx", "rx"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ clocks = <&flx1_clk>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_mikrobus_i2c>; ++ atmel,fifo-size = <16>; ++ status = "okay"; ++ }; ++ }; ++ ++ shdwc@f8048010 { ++ atmel,shdwc-debouncer = <976>; ++ atmel,wakeup-rtc-timer; ++ ++ input@0 { ++ reg = <0>; ++ atmel,wakeup-type = "low"; ++ }; ++ }; ++ ++ watchdog@f8048040 { ++ status = "okay"; ++ }; ++ ++ uart3: serial@fc008000 { ++ atmel,use-dma-rx; ++ atmel,use-dma-tx; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_uart3_default>; ++ status = "disabled"; /* Conflict with isc. */ ++ }; ++ ++ uart4: serial@fc00c000 { ++ atmel,use-dma-rx; ++ atmel,use-dma-tx; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_mikrobus1_uart>; ++ status = "okay"; ++ }; ++ ++ flx3: flexcom@fc014000 { ++ atmel,flexcom-mode = ; ++ status = "disabled"; ++ ++ uart7: serial@200 { ++ compatible = "atmel,at91sam9260-usart"; ++ reg = <0x200 0x200>; ++ interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>; ++ clocks = <&flx3_clk>; ++ clock-names = "usart"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_flx3_default>; ++ atmel,fifo-size = <32>; ++ status = "disabled"; /* Conflict with isc. */ ++ }; ++ ++ spi2: spi@400 { ++ compatible = "atmel,at91rm9200-spi"; ++ reg = <0x400 0x200>; ++ interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>; ++ clocks = <&flx3_clk>; ++ clock-names = "spi_clk"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_flx3_default>; ++ atmel,fifo-size = <16>; ++ status = "disabled"; /* Conflict with isc. */ ++ }; ++ }; ++ ++ flx4: flexcom@fc018000 { ++ atmel,flexcom-mode = ; ++ status = "okay"; ++ ++ uart6: serial@200 { ++ compatible = "atmel,at91sam9260-usart"; ++ reg = <0x200 0x200>; ++ interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>; ++ clocks = <&flx4_clk>; ++ clock-names = "usart"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_flx4_default>; ++ atmel,fifo-size = <32>; ++ status = "disabled"; /* Conflict with spi3 and i2c3. */ ++ }; ++ ++ spi3: spi@400 { ++ compatible = "atmel,at91rm9200-spi"; ++ reg = <0x400 0x200>; ++ interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>; ++ clocks = <&flx4_clk>; ++ clock-names = "spi_clk"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_mikrobus_spi &pinctrl_mikrobus1_spi_cs &pinctrl_mikrobus2_spi_cs>; ++ atmel,fifo-size = <16>; ++ status = "okay"; ++ }; ++ ++ i2c3: i2c@600 { ++ compatible = "atmel,sama5d2-i2c"; ++ reg = <0x600 0x200>; ++ interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>; ++ dmas = <0>, <0>; ++ dma-names = "tx", "rx"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ clocks = <&flx4_clk>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_flx4_default>; ++ atmel,fifo-size = <16>; ++ status = "disabled"; /* Conflict with uart6 and spi3. */ ++ }; ++ }; ++ ++ i2c1: i2c@fc028000 { ++ dmas = <0>, <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_i2c1_default>; ++ status = "okay"; ++ }; ++ ++ pinctrl@fc038000 { ++ ++ pinctrl_lcd_base: pinctrl_lcd_base { ++ pinmux = , ++ , ++ , ++ ; ++ bias-disable; ++ drive-strength = ; ++ }; ++ ++ pinctrl_lcd_rgb: pinctrl_lcd_rgb { ++ pinmux = , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_lcd_pwm: pinctrl_lcd_pwm { ++ pinmux = ; ++ bias-disable; ++ }; ++ ++ pinctrl_can1_default: can1_default { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_flx3_default: flx3_default { ++ pinmux = , ++ , ++ , ++ , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_i2c1_default: i2c1_default { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_isc_base: isc_base { ++ pinmux = , ++ , ++ , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_isc_data_8bit: isc_data_8bit { ++ pinmux = , ++ , ++ , ++ , ++ , ++ , ++ , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_isc_data_9_10: isc_data_9_10 { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_isc_data_11_12: isc_data_11_12 { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_key_gpio_default: key_gpio_default { ++ pinmux = ; ++ bias-pull-up; ++ }; ++ ++ pinctrl_led_gpio_default: led_gpio_default { ++ pinmux = , ++ , ++ ; ++ bias-pull-up; ++ }; ++ ++ pinctrl_sdmmc0_default: sdmmc0_default { ++ cmd_data { ++ pinmux = , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ ; ++ bias-disable; ++ }; ++ ++ ck_cd_vddsel { ++ pinmux = , ++ , ++ ; ++ bias-disable; ++ }; ++ }; ++ ++ pinctrl_sdmmc1_default: sdmmc1_default { ++ cmd_data { ++ pinmux = , ++ , ++ , ++ , ++ ; ++ bias-disable; ++ }; ++ ++ conf-ck_cd { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ }; ++ ++ pinctrl_spi0_default: spi0_default { ++ pinmux = , ++ , ++ , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_uart1_default: uart1_default { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_uart3_default: uart3_default { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_usb_default: usb_default { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_usba_vbus: usba_vbus { ++ pinmux = ; ++ bias-disable; ++ }; ++ ++ pinctrl_mikrobus1_an: mikrobus1_an { ++ pinmux = ; ++ bias-disable; ++ }; ++ ++ pinctrl_mikrobus2_an: mikrobus2_an { ++ pinmux = ; ++ bias-disable; ++ }; ++ ++ pinctrl_mikrobus1_rst: mikrobus1_rst { ++ pinmux = ; ++ bias-disable; ++ }; ++ ++ pinctrl_mikrobus2_rst: mikrobus2_rst { ++ pinmux = ; ++ bias-disable; ++ }; ++ ++ pinctrl_mikrobus1_spi_cs: mikrobus1_spi_cs { ++ pinmux = ; ++ bias-disable; ++ }; ++ ++ pinctrl_mikrobus2_spi_cs: mikrobus2_spi_cs { ++ pinmux = ; ++ bias-disable; ++ }; ++ ++ pinctrl_mikrobus_spi: mikrobus_spi { ++ pinmux = , ++ , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_mikrobus1_pwm: mikrobus1_pwm { ++ pinmux = ; ++ bias-disable; ++ }; ++ ++ pinctrl_mikrobus2_pwm: mikrobus2_pwm { ++ pinmux = ; ++ bias-disable; ++ }; ++ ++ pinctrl_mikrobus1_int: mikrobus1_int { ++ pinmux = ; ++ bias-disable; ++ }; ++ ++ pinctrl_mikrobus2_int: mikrobus2_int { ++ pinmux = ; ++ bias-disable; ++ }; ++ ++ pinctrl_mikrobus1_uart: mikrobus1_uart { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_mikrobus2_uart: mikrobus2_uart { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_mikrobus_i2c: mikrobus1_i2c { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_flx4_default: flx4_uart_default { ++ pinmux = , ++ , ++ , ++ , ++ ; ++ bias-disable; ++ }; ++ }; ++ ++ can1: can@fc050000 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_can1_default>; ++ status = "okay"; ++ }; ++ }; ++ }; ++ ++ gpio_keys { ++ compatible = "gpio-keys"; ++ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_key_gpio_default>; ++ ++ pb4 { ++ label = "USER"; ++ gpios = <&pioA PIN_PA29 GPIO_ACTIVE_LOW>; ++ linux,code = <0x104>; ++ wakeup-source; ++ }; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_led_gpio_default>; ++ status = "okay"; /* Conflict with pwm0. */ ++ ++ red { ++ label = "red"; ++ gpios = <&pioA PIN_PA10 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ green { ++ label = "green"; ++ gpios = <&pioA PIN_PB1 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ blue { ++ label = "blue"; ++ gpios = <&pioA PIN_PA31 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "heartbeat"; ++ }; ++ }; ++}; +--- a/include/dt-bindings/pinctrl/at91.h ++++ b/include/dt-bindings/pinctrl/at91.h +@@ -37,4 +37,8 @@ + #define AT91_PERIPH_C 3 + #define AT91_PERIPH_D 4 + ++#define ATMEL_PIO_DRVSTR_LO 1 ++#define ATMEL_PIO_DRVSTR_ME 2 ++#define ATMEL_PIO_DRVSTR_HI 3 ++ + #endif /* __DT_BINDINGS_AT91_PINCTRL_H__ */ diff --git a/target/linux/at91/patches-4.9/105-ARM-at91-build-dtb-for-sama5d2-ptc-Ek.patch b/target/linux/at91/patches-4.9/105-ARM-at91-build-dtb-for-sama5d2-ptc-Ek.patch new file mode 100644 index 000000000..e33840cfd --- /dev/null +++ b/target/linux/at91/patches-4.9/105-ARM-at91-build-dtb-for-sama5d2-ptc-Ek.patch @@ -0,0 +1,435 @@ +--- a/arch/arm/boot/dts/Makefile ++++ b/arch/arm/boot/dts/Makefile +@@ -49,6 +49,7 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \ + wb45n.dtb + dtb-$(CONFIG_SOC_SAM_V7) += \ + at91-kizbox2.dtb \ ++ at91-sama5d2_ptc_ek.dtb \ + at91-sama5d27_som1_ek.dtb \ + at91-sama5d2_xplained.dtb \ + at91-sama5d3_xplained.dtb \ +--- /dev/null ++++ b/arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts +@@ -0,0 +1,422 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR X11) ++/* ++ * at91-sama5d2_ptc_ek.dts - Device Tree file for SAMA5D2 PTC EK board ++ * ++ * Copyright (C) 2017 Microchip/Atmel, ++ * 2017 Wenyou Yang ++ * 2017 Ludovic Desroches ++ */ ++/dts-v1/; ++#include "sama5d2.dtsi" ++#include "sama5d2-pinfunc.h" ++#include ++#include ++#include ++ ++/ { ++ model = "Atmel SAMA5D2 PTC EK"; ++ compatible = "atmel,sama5d2-ptc_ek", "atmel,sama5d2", "atmel,sama5"; ++ ++ aliases { ++ serial0 = &uart0; ++ i2c0 = &i2c0; ++ i2c1 = &i2c1; ++ i2c2 = &i2c2; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ memory { ++ reg = <0x20000000 0x80000>; ++ }; ++ ++ clocks { ++ slow_xtal { ++ clock-frequency = <32768>; ++ }; ++ ++ main_xtal { ++ clock-frequency = <24000000>; ++ }; ++ }; ++ ++ ahb { ++ usb0: gadget@00300000 { ++ atmel,vbus-gpio = <&pioA PIN_PB11 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_usba_vbus>; ++ status = "okay"; ++ }; ++ ++ usb1: ohci@00400000 { ++ num-ports = <3>; ++ atmel,vbus-gpio = <0 ++ &pioA PIN_PB12 GPIO_ACTIVE_HIGH ++ 0 ++ >; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_usb_default>; ++ status = "okay"; ++ }; ++ ++ usb2: ehci@00500000 { ++ status = "okay"; ++ }; ++ ++ nand0: nand@80000000 { ++ nand-bus-width = <8>; ++ nand-ecc-mode = "hw"; ++ nand-on-flash-bbt; ++ atmel,has-pmecc; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_nand_default>; ++ status = "okay"; /* conflicts with sdmmc1 and qspi0 */ ++ ++ at91bootstrap@0 { ++ label = "bootstrap"; ++ reg = <0x0 0x40000>; ++ }; ++ ++ bootloader@40000 { ++ label = "bootloader"; ++ reg = <0x40000 0xc0000>; ++ }; ++ ++ bootloaderenv@0x100000 { ++ label = "bootloader env"; ++ reg = <0x100000 0x40000>; ++ }; ++ ++ bootloaderenvred@0x140000 { ++ label = "bootloader env redundant"; ++ reg = <0x140000 0x40000>; ++ }; ++ ++ dtb@180000 { ++ label = "device tree"; ++ reg = <0x180000 0x80000>; ++ }; ++ ++ kernel@200000 { ++ label = "kernel"; ++ reg = <0x200000 0x600000>; ++ }; ++ ++ rootfs@800000 { ++ label = "rootfs"; ++ reg = <0x800000 0x1f800000>; ++ }; ++ }; ++ ++ sdmmc0: sdio-host@a0000000 { ++ bus-width = <8>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_sdmmc0_default>; ++ status = "okay"; ++ }; ++ ++ apb { ++ pmc: pmc@f0014000 { ++ pmc_fast_restart { ++ compatible = "atmel,sama5d2-pmc-fast-startup"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ atmel,wakeup-rtc-timer; ++ ++ wkpin: input@0 { ++ reg = <0>; ++ }; ++ ++ gmac_wol: input@10 { ++ reg = <10>; ++ atmel,wakeup-active-high; ++ }; ++ }; ++ }; ++ ++ spi0: spi@f8000000 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_spi0_default>; ++ status = "okay"; ++ ++ /* ++ m25p80@0 { ++ compatible = "atmel,at25df321a"; ++ reg = <0>; ++ spi-max-frequency = <50000000>; ++ }; ++ */ ++ }; ++ ++ macb0: ethernet@f8008000 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_macb0_default &pinctrl_macb0_phy_irq>; ++ phy-mode = "rmii"; ++ status = "okay"; ++ ++ ethernet-phy@1 { ++ reg = <0x1>; ++ interrupt-parent = <&pioA>; ++ interrupts = <56 IRQ_TYPE_LEVEL_LOW>; ++ }; ++ }; ++ ++ uart0: serial@f801c000 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_uart0_default>; ++ atmel,use-dma-rx; ++ atmel,use-dma-tx; ++ status = "okay"; ++ }; ++ ++ uart2: serial@f8024000 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_uart2_default>; ++ atmel,use-dma-rx; ++ atmel,use-dma-tx; ++ status = "okay"; ++ }; ++ ++ i2c0: i2c@f8028000 { ++ dmas = <0>, <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_i2c0_default>; ++ i2c-sda-hold-time-ns = <350>; ++ status = "okay"; ++ }; ++ ++ flx0: flexcom@f8034000 { ++ atmel,flexcom-mode = ; ++ status = "okay"; ++ ++ i2c2: i2c@600 { ++ compatible = "atmel,sama5d2-i2c"; ++ reg = <0x600 0x200>; ++ interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>; ++ dmas = <0>, <0>; ++ dma-names = "tx", "rx"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ clocks = <&flx0_clk>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_flx0_default>; ++ atmel,fifo-size = <16>; ++ status = "okay"; ++ }; ++ }; ++ ++ shdwc@f8048010 { ++ atmel,shdwc-debouncer = <976>; ++ ++ input@0 { ++ reg = <0>; ++ atmel,wakeup-type = "low"; ++ }; ++ }; ++ ++ watchdog@f8048040 { ++ status = "okay"; ++ }; ++ ++ spi1: spi@fc000000 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_spi1_default>; ++ status = "okay"; ++ }; ++ ++ i2c1: i2c@fc028000 { ++ dmas = <0>, <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_i2c1_default>; ++ status = "okay"; ++ ++ at24@50 { ++ compatible = "24c02"; ++ reg = <0x50>; ++ pagesize = <8>; ++ }; ++ }; ++ ++ pinctrl@fc038000 { ++ pinctrl_flx0_default: flx0_default { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_i2c0_default: i2c0_default { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_i2c1_default: i2c1_default { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_key_gpio_default: key_gpio_default { ++ pinmux = ; ++ bias-pull-up; ++ }; ++ ++ pinctrl_led_gpio_default: led_gpio_default { ++ pinmux = , ++ , ++ ; ++ bias-pull-up; ++ }; ++ ++ pinctrl_macb0_default: macb0_default { ++ pinmux = , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_macb0_phy_irq: macb0_phy_irq { ++ pinmux = ; ++ bias-disable; ++ }; ++ ++ pinctrl_nand_default: nand_default { ++ re_we_data { ++ pinmux = , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ ; ++ bias-pull-up; ++ drive-strength = ; ++ }; ++ ++ ale_cle_rdy_cs { ++ pinmux = , ++ , ++ , ++ ; ++ bias-pull-up; ++ }; ++ }; ++ ++ pinctrl_sdmmc0_default: sdmmc0_default { ++ cmd_data { ++ pinmux = , ++ , ++ , ++ , ++ , ++ , ++ , ++ , ++ ; ++ bias-pull-up; ++ }; ++ ++ ck_cd_vddsel { ++ pinmux = , ++ , ++ ; ++ bias-disable; ++ }; ++ }; ++ ++ pinctrl_spi0_default: spi0_default { ++ pinmux = , ++ , ++ , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_spi1_default: spi1_default { ++ pinmux = , ++ , ++ , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_uart0_default: uart0_default { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_uart2_default: uart2_default { ++ pinmux = , ++ ; ++ bias-disable; ++ }; ++ ++ pinctrl_usb_default: usb_default { ++ pinmux = ; ++ bias-disable; ++ }; ++ ++ pinctrl_usba_vbus: usba_vbus { ++ pinmux = ; ++ bias-disable; ++ }; ++ ++ }; ++ ++ ptc@fc060000 { ++ status = "okay"; ++ }; ++ }; ++ }; ++ ++ gpio_keys { ++ compatible = "gpio-keys"; ++ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_key_gpio_default>; ++ ++ bp1 { ++ label = "PB_USER"; ++ gpios = <&pioA PIN_PA10 GPIO_ACTIVE_LOW>; ++ linux,code = <0x104>; ++ wakeup-source; ++ }; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_led_gpio_default>; ++ status = "okay"; ++ ++ red { ++ label = "red"; ++ gpios = <&pioA PIN_PB10 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ green { ++ label = "green"; ++ gpios = <&pioA PIN_PB8 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ blue { ++ label = "blue"; ++ gpios = <&pioA PIN_PB6 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "heartbeat"; ++ }; ++ }; ++}; diff --git a/target/linux/at91/sama5/config-default b/target/linux/at91/sama5/config-default deleted file mode 100644 index 00d4cf930..000000000 --- a/target/linux/at91/sama5/config-default +++ /dev/null @@ -1,52 +0,0 @@ -# CONFIG_ARCH_MULTI_CPU_AUTO is not set -CONFIG_ARCH_MULTI_V6_V7=y -CONFIG_ARCH_MULTI_V7=y -CONFIG_ARM_HEAVY_MB=y -CONFIG_ARM_L1_CACHE_SHIFT=6 -CONFIG_ARM_L1_CACHE_SHIFT_6=y -# CONFIG_ARM_LPAE is not set -CONFIG_ARM_PATCH_IDIV=y -# CONFIG_ARM_THUMBEE is not set -CONFIG_ARM_VIRT_EXT=y -CONFIG_ATMEL_AIC5_IRQ=y -CONFIG_CACHE_L2X0=y -CONFIG_CPU_32v6K=y -CONFIG_CPU_32v7=y -CONFIG_CPU_ABRT_EV7=y -# CONFIG_CPU_BPREDICT_DISABLE is not set -CONFIG_CPU_CACHE_V7=y -CONFIG_CPU_CACHE_VIPT=y -CONFIG_CPU_COPY_V6=y -CONFIG_CPU_HAS_ASID=y -CONFIG_CPU_PABRT_V7=y -CONFIG_CPU_TLB_V7=y -CONFIG_CPU_V7=y -CONFIG_DCACHE_WORD_ACCESS=y -CONFIG_GENERIC_PINCONF=y -CONFIG_HAVE_ARCH_BITREVERSE=y -CONFIG_HAVE_ARM_SMCCC=y -CONFIG_HAVE_AT91_GENERATED_CLK=y -CONFIG_HAVE_AT91_H32MX=y -CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y -CONFIG_HAVE_SMP=y -CONFIG_MIGHT_HAVE_CACHE_L2X0=y -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_IO_ACCESSORS=y -CONFIG_MMC_SDHCI_OF_AT91=y -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_OUTER_CACHE=y -CONFIG_OUTER_CACHE_SYNC=y -CONFIG_PINCTRL_AT91PIO4=y -CONFIG_PL310_ERRATA_588369=y -CONFIG_PL310_ERRATA_727915=y -CONFIG_PL310_ERRATA_753970=y -CONFIG_PL310_ERRATA_769419=y -CONFIG_POWER_RESET_AT91_SAMA5D2_SHDWC=y -CONFIG_SOC_SAMA5=y -CONFIG_SOC_SAMA5D2=y -CONFIG_SOC_SAMA5D3=y -CONFIG_SOC_SAMA5D4=y -CONFIG_SOC_SAM_V7=y -CONFIG_SPLIT_PTLOCK_CPUS=4 -# CONFIG_SWP_EMULATE is not set -# CONFIG_THUMB2_KERNEL is not set diff --git a/target/linux/at91/sama5d2/config-default b/target/linux/at91/sama5d2/config-default new file mode 100644 index 000000000..43f8d240e --- /dev/null +++ b/target/linux/at91/sama5d2/config-default @@ -0,0 +1,44 @@ +CONFIG_ARCH_MULTI_V6_V7=y +CONFIG_ARCH_MULTI_V7=y +CONFIG_AT91_SAMA5D2_ADC=y +CONFIG_AT_XDMAC=y +CONFIG_BATTERY_ACT8945A=y +CONFIG_CAN=y +CONFIG_CMA_ALIGNMENT=8 +CONFIG_CMA_DEBUGFS=y +CONFIG_CMA_SIZE_MBYTES=16 +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_DMA_CMA=y +# CONFIG_HZ_PERIODIC is not set +# CONFIG_LCD_CLASS_DEVICE is not set +CONFIG_MEMCG=y +CONFIG_MFD_ACT8945A=y +CONFIG_MFD_ATMEL_FLEXCOM=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_OF_AT91=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_SPI_NOR=y +CONFIG_NO_HZ_COMMON=y +CONFIG_NO_HZ_IDLE=y +CONFIG_PAGE_COUNTER=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_POWER_RESET_AT91_SAMA5D2_SHDWC=y +CONFIG_REGULATOR_ACT8865=y +CONFIG_REGULATOR_ACT8945A=y +CONFIG_RFKILL_REGULATOR=y +CONFIG_SAMA5D4_WATCHDOG=y +CONFIG_SND_ATMEL_SOC_CLASSD=y +CONFIG_SOC_SAMA5D2=y +CONFIG_SOC_SAM_V7=y +CONFIG_SPI_ATMEL_QUADSPI=y +CONFIG_TOUCHSCREEN_ATMEL_MXT=y +# CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set +# CONFIG_USB_ATMEL_USBA is not set diff --git a/target/linux/at91/sama5/target.mk b/target/linux/at91/sama5d2/target.mk similarity index 59% rename from target/linux/at91/sama5/target.mk rename to target/linux/at91/sama5d2/target.mk index 8ff6c761a..63f50aeea 100644 --- a/target/linux/at91/sama5/target.mk +++ b/target/linux/at91/sama5d2/target.mk @@ -1,11 +1,10 @@ -BOARDNAME:=SAMA5 Xplained boards(Cortex-A5) +BOARDNAME:=SAMA5D2 boards(Cortex-A5) CPU_TYPE:=cortex-a5 CPU_SUBTYPE:=neon-vfpv4 - FEATURES+=fpu DEFAULT_PACKAGES += kmod-usb2 define Target/Description - Build generic firmware for Microchip(Atmel AT91) SAMA5 MPU's + Build generic firmware for Microchip(Atmel AT91) SAMA5D2 MPU's using the ARMv7 instruction set. endef diff --git a/target/linux/at91/sama5d3/config-default b/target/linux/at91/sama5d3/config-default new file mode 100644 index 000000000..88b4031a9 --- /dev/null +++ b/target/linux/at91/sama5d3/config-default @@ -0,0 +1,39 @@ +CONFIG_ARCH_MULTI_V6_V7=y +CONFIG_ARCH_MULTI_V7=y +CONFIG_AT91_SAMA5D2_ADC=y +CONFIG_AT_XDMAC=y +CONFIG_BATTERY_ACT8945A=y +CONFIG_CMA_ALIGNMENT=8 +CONFIG_CMA_DEBUGFS=y +CONFIG_CMA_SIZE_MBYTES=16 +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_DMA_CMA=y +# CONFIG_HZ_PERIODIC is not set +# CONFIG_LCD_CLASS_DEVICE is not set +CONFIG_MFD_ACT8945A=y +CONFIG_MFD_ATMEL_FLEXCOM=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_OF_AT91=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_SPI_NOR=y +CONFIG_NO_HZ_COMMON=y +CONFIG_NO_HZ_IDLE=y +CONFIG_POWER_RESET_AT91_SAMA5D2_SHDWC=y +CONFIG_REGULATOR_ACT8865=y +CONFIG_REGULATOR_ACT8945A=y +CONFIG_RFKILL_REGULATOR=y +CONFIG_SAMA5D4_WATCHDOG=y +CONFIG_SND_ATMEL_SOC_CLASSD=y +CONFIG_SOC_SAMA5D3=y +CONFIG_SOC_SAM_V7=y +CONFIG_SPI_ATMEL_QUADSPI=y +CONFIG_TOUCHSCREEN_ATMEL_MXT=y +# CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set +# CONFIG_USB_ATMEL_USBA is not set diff --git a/target/linux/at91/sama5d3/target.mk b/target/linux/at91/sama5d3/target.mk new file mode 100644 index 000000000..d30931bfc --- /dev/null +++ b/target/linux/at91/sama5d3/target.mk @@ -0,0 +1,10 @@ +BOARDNAME:=SAMA5D3 boards(Cortex-A5) +CPU_TYPE:=cortex-a5 +CPU_SUBTYPE:=vfpv4 +FEATURES+=fpu +DEFAULT_PACKAGES += kmod-usb2 + +define Target/Description + Build generic firmware for Microchip(Atmel AT91) SAMA5D3 MPU's + using the ARMv7 instruction set. +endef diff --git a/target/linux/at91/sama5d4/config-default b/target/linux/at91/sama5d4/config-default new file mode 100644 index 000000000..baa2d5f46 --- /dev/null +++ b/target/linux/at91/sama5d4/config-default @@ -0,0 +1,39 @@ +CONFIG_ARCH_MULTI_V6_V7=y +CONFIG_ARCH_MULTI_V7=y +CONFIG_AT91_SAMA5D2_ADC=y +CONFIG_AT_XDMAC=y +CONFIG_BATTERY_ACT8945A=y +CONFIG_CMA_ALIGNMENT=8 +CONFIG_CMA_DEBUGFS=y +CONFIG_CMA_SIZE_MBYTES=16 +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_DMA_CMA=y +# CONFIG_HZ_PERIODIC is not set +# CONFIG_LCD_CLASS_DEVICE is not set +CONFIG_MFD_ACT8945A=y +CONFIG_MFD_ATMEL_FLEXCOM=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_OF_AT91=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_SPI_NOR=y +CONFIG_NO_HZ_COMMON=y +CONFIG_NO_HZ_IDLE=y +CONFIG_POWER_RESET_AT91_SAMA5D2_SHDWC=y +CONFIG_REGULATOR_ACT8865=y +CONFIG_REGULATOR_ACT8945A=y +CONFIG_RFKILL_REGULATOR=y +CONFIG_SAMA5D4_WATCHDOG=y +CONFIG_SND_ATMEL_SOC_CLASSD=y +CONFIG_SOC_SAMA5D4=y +CONFIG_SOC_SAM_V7=y +CONFIG_SPI_ATMEL_QUADSPI=y +CONFIG_TOUCHSCREEN_ATMEL_MXT=y +# CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set +# CONFIG_USB_ATMEL_USBA is not set diff --git a/target/linux/at91/sama5d4/target.mk b/target/linux/at91/sama5d4/target.mk new file mode 100644 index 000000000..2bbab60d8 --- /dev/null +++ b/target/linux/at91/sama5d4/target.mk @@ -0,0 +1,10 @@ +BOARDNAME:=SAMA5D4 boards(Cortex-A5) +CPU_TYPE:=cortex-a5 +CPU_SUBTYPE:=neon-vfpv4 +FEATURES+=fpu +DEFAULT_PACKAGES += kmod-usb2 + +define Target/Description + Build generic firmware for Microchip(Atmel AT91) SAMA5D4 MPU's + using the ARMv7 instruction set. +endef