From patchwork Sun Jul 30 13:25:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TWljaGHFgiDFgXlzemN6ZWs=?= X-Patchwork-Id: 795350 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.138; helo=whitealder.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="PgoSZ3GN"; dkim-atps=neutral Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3xL3JX0yVRz9s81 for ; Sun, 30 Jul 2017 23:26:35 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 9C5ED87BF0; Sun, 30 Jul 2017 13:26:32 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aATpDszBIr-9; Sun, 30 Jul 2017 13:26:25 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 458CF87AF1; Sun, 30 Jul 2017 13:26:25 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id F05FB1C0F61 for ; Sun, 30 Jul 2017 13:26:22 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id E78BA88CBB for ; Sun, 30 Jul 2017 13:26:22 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TOJPsB66qXms for ; Sun, 30 Jul 2017 13:26:20 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-lf0-f44.google.com (mail-lf0-f44.google.com [209.85.215.44]) by hemlock.osuosl.org (Postfix) with ESMTPS id 67AF088CBA for ; Sun, 30 Jul 2017 13:26:19 +0000 (UTC) Received: by mail-lf0-f44.google.com with SMTP id t128so75198287lff.2 for ; Sun, 30 Jul 2017 06:26:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=LQ67Xn9eMtn9e/GBc99eLa9g6A0HItkYmCp5ehAy95U=; b=PgoSZ3GNsWdEz9ofTvJTwmmdhbT2+CIiz0/qxlMRCc0OFzb5dZXQMKQFgG/VULz71t qfxfsYGDwzgf3l4ECW+P8ZpQA625MymanJmOWc0mQtRtX6RQdxjexgUArMP4dm8oljYu p/3YqrIZpnX05wh2zUDxixvVbanVbq9OEFj8lA1647fwuSZYHDr6eNtmCWMqZBE/VhGC h/SIeV2vAXayndhVlidb2PuYIoW3ElXaCgxJUhbFY5/+A/BHxcGkuEVp27YnJKgjJQzc pyNJzteyHAspEJZ+2pPWSCEuI6Ni5oE/UNevIA+AbaA10BeEVQvcfh7xYonLBIzUUvaE k5vQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=LQ67Xn9eMtn9e/GBc99eLa9g6A0HItkYmCp5ehAy95U=; b=fu37pdVun4MMTJJIfyY9JlDbC97sNq8Q/oG6SdlH5ZanoEPMHoNJPhTQCqRXJzfHZo U89PLSG/dpXbla/QOpGAqRbOiEKxVN+FG9ec0OuWTzT7q386K30Pnba1jGXfRw/bxy+z aa8itPJTWUHNgutYmOzw2hxpBB+DDuPydLu6mHQtHSYJpS9SCyNFYC4qvJ3HtVWX9DML H5uCtIsFk+x0oQm3vbFLhVV7G4OAbE06WRWMeRnnp5uF/6GciBNTWYhdzojn6DIJSZcg SROm04/GiyUlblMjESW/2Q54NR4EX/E6TueGKBZ8jvqpGFs66m+HIdsqXCirqn5nua43 +q0g== X-Gm-Message-State: AIVw113PwEsHEIkupvRtCrkhFHBOw28BbHULTJonk7/tsZ1howzbyhZn UiI3LnoqwIaCh+cZeto= X-Received: by 10.46.21.84 with SMTP id 20mr3285312ljv.72.1501421175644; Sun, 30 Jul 2017 06:26:15 -0700 (PDT) Received: from kurwidev.kurwinet.pl (178.43.207.163.ipv4.supernova.orange.pl. [178.43.207.163]) by smtp.gmail.com with ESMTPSA id e13sm4579484ljb.14.2017.07.30.06.26.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 30 Jul 2017 06:26:14 -0700 (PDT) From: =?UTF-8?q?Micha=C5=82=20=C5=81yszczek?= To: buildroot@buildroot.org Date: Sun, 30 Jul 2017 15:25:42 +0200 Message-Id: <20170730132542.432-1-michal.lyszczek@gmail.com> X-Mailer: git-send-email 2.10.2 MIME-Version: 1.0 Cc: =?UTF-8?q?Micha=C5=82=20=C5=81yszczek?= Subject: [Buildroot] [PATCH 1/1] Added new board - EVB SoCrates based on Altera Cyclone 5 X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" From: Michał Łyszczek Configuration contains: - binary uboot SPL - building uboot from altera's github - booting from SD card - working ethernet, serial, spi, i2c, fpga_manager, gpio - minimal rootfs with busybox (~3.5Mb) - ready to flash SD card image Signed-off-by: Michał Łyszczek --- board/altera/socrates_cyclone5/boot-env.txt | 3 + board/altera/socrates_cyclone5/boot.txt | 7 + board/altera/socrates_cyclone5/create_sdcard.sh | 43 +++++ board/altera/socrates_cyclone5/genimage.cfg | 39 +++++ board/altera/socrates_cyclone5/linux-4.1.config | 218 ++++++++++++++++++++++++ board/altera/socrates_cyclone5/linux.dts | 92 ++++++++++ board/altera/socrates_cyclone5/preloader.bin | Bin 0 -> 38176 bytes board/altera/socrates_cyclone5/readme.txt | 52 ++++++ configs/socrates_cyclone5_defconfig | 34 ++++ 9 files changed, 488 insertions(+) create mode 100644 board/altera/socrates_cyclone5/boot-env.txt create mode 100644 board/altera/socrates_cyclone5/boot.txt create mode 100755 board/altera/socrates_cyclone5/create_sdcard.sh create mode 100644 board/altera/socrates_cyclone5/genimage.cfg create mode 100644 board/altera/socrates_cyclone5/linux-4.1.config create mode 100644 board/altera/socrates_cyclone5/linux.dts create mode 100644 board/altera/socrates_cyclone5/preloader.bin create mode 100644 board/altera/socrates_cyclone5/readme.txt create mode 100644 configs/socrates_cyclone5_defconfig diff --git a/board/altera/socrates_cyclone5/boot-env.txt b/board/altera/socrates_cyclone5/boot-env.txt new file mode 100644 index 0000000..30c55a1 --- /dev/null +++ b/board/altera/socrates_cyclone5/boot-env.txt @@ -0,0 +1,3 @@ +source_env=fatload mmc 0:1 0x2000000 boot.scr; source 0x2000000 +bootcmd=run source_env; run start +bootdelay=1 diff --git a/board/altera/socrates_cyclone5/boot.txt b/board/altera/socrates_cyclone5/boot.txt new file mode 100644 index 0000000..0a70ff3 --- /dev/null +++ b/board/altera/socrates_cyclone5/boot.txt @@ -0,0 +1,7 @@ +setenv linux_load_address 0x100000 +setenv linux_dtb_load_address 0x100 +setenv linux_load 'mmc rescan; fatload mmc 0:1 ${linux_load_address} zImage; fatload mmc 0:1 ${linux_dtb_load_address} linux.dtb' + +setenv bootargs 'console=ttyS0,115200 root=/dev/mmcblk0p3 rw rootwait' + +setenv start 'run linux_load; bootz ${linux_load_address} - ${linux_dtb_load_address}' diff --git a/board/altera/socrates_cyclone5/create_sdcard.sh b/board/altera/socrates_cyclone5/create_sdcard.sh new file mode 100755 index 0000000..f7981e3 --- /dev/null +++ b/board/altera/socrates_cyclone5/create_sdcard.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# +# Script generates sdcard image for altera cyclone5 (socrates board) + +# $1 - image directory (output/images) + +BOARD_DIR="$(dirname $0)" +IMAGES_DIR="$1" +GENIMAGE_CFG="$BOARD_DIR/genimage.cfg" +GENIMAGE_TMP="$BUILD_DIR/genimage.tmp" + +### +# create altera preloader image that consists of 4 64k images +# + +dd if="$BOARD_DIR/preloader.bin" of="$IMAGES_DIR/preloader.bin" bs=64k count=1 seek=0 +dd if="$BOARD_DIR/preloader.bin" of="$IMAGES_DIR/preloader.bin" bs=64k count=1 seek=1 +dd if="$BOARD_DIR/preloader.bin" of="$IMAGES_DIR/preloader.bin" bs=64k count=1 seek=2 +dd if="$BOARD_DIR/preloader.bin" of="$IMAGES_DIR/preloader.bin" bs=64k count=1 seek=3 +truncate -s256k "$IMAGES_DIR/preloader.bin" + +### +# append real uboot at the end of altera preloader to create complete uboot +# image +# + +cat "$IMAGES_DIR/preloader.bin" "$IMAGES_DIR/u-boot.img" > \ + "$IMAGES_DIR/boot_partition.img" + +### +# create sdcard image according to genimage.cfg +# + +rm -fr "$GENIMAGE_TMP" + +genimage \ +--rootpath "$TARGET_DIR" \ +--tmppath "$GENIMAGE_TMP" \ +--inputpath "$BINARIES_DIR" \ +--outputpath "$BINARIES_DIR" \ +--config "$GENIMAGE_CFG" + +exit 0 diff --git a/board/altera/socrates_cyclone5/genimage.cfg b/board/altera/socrates_cyclone5/genimage.cfg new file mode 100644 index 0000000..cfb5746 --- /dev/null +++ b/board/altera/socrates_cyclone5/genimage.cfg @@ -0,0 +1,39 @@ +image boot.vfat { + vfat { + files = { + "zImage", + "linux.dtb", + "boot.scr" + } + } + size = 10321920 +} + +image sdcard.img { + hdimage { + } + + partition uboot-env { + in-partition-table = "no" + image = "uboot-env.bin" + offset = 512 + } + + partition boot { + partition-type = 0xc + bootable = "true" + image = "boot.vfat" + } + + partition preboot { + partition-type = 0xa2 + image = "boot_partition.img" + size = 1M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + size = 500M + } +} diff --git a/board/altera/socrates_cyclone5/linux-4.1.config b/board/altera/socrates_cyclone5/linux-4.1.config new file mode 100644 index 0000000..295bdb8 --- /dev/null +++ b/board/altera/socrates_cyclone5/linux-4.1.config @@ -0,0 +1,218 @@ +CONFIG_DEFAULT_HOSTNAME="hdp" +CONFIG_SYSVIPC=y +CONFIG_FHANDLE=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_CGROUPS=y +CONFIG_CPUSETS=y +CONFIG_NAMESPACES=y +CONFIG_EMBEDDED=y +CONFIG_PROFILING=y +CONFIG_OPROFILE=y +CONFIG_JUMP_LABEL=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +# CONFIG_LBDAF is not set +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_IOSCHED_DEADLINE is not set +# CONFIG_IOSCHED_CFQ is not set +CONFIG_ARCH_SOCFPGA=y +CONFIG_SOCFPGA_SUSPEND=y +CONFIG_ARM_THUMBEE=y +CONFIG_PCI=y +CONFIG_PCI_MSI=y +CONFIG_PCIE_ALTERA=y +CONFIG_PCIE_ALTERA_MSI=y +CONFIG_SMP=y +CONFIG_SCHED_MC=y +CONFIG_SCHED_SMT=y +CONFIG_NR_CPUS=2 +CONFIG_AEABI=y +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_VFP=y +CONFIG_NEON=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_NET_KEY=y +CONFIG_NET_KEY_MIGRATE=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +CONFIG_IPV6=y +CONFIG_NETWORK_PHY_TIMESTAMPING=y +CONFIG_VLAN_8021Q=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_CAN=y +CONFIG_CAN_C_CAN=y +CONFIG_CAN_C_CAN_PLATFORM=y +CONFIG_CAN_DEBUG_DEVICES=y +# CONFIG_WIRELESS is not set +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_MTD=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_DENALI=y +CONFIG_MTD_NAND_DENALI_DT=y +CONFIG_MTD_SPI_NOR=y +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set +CONFIG_SPI_CADENCE_QUADSPI=y +CONFIG_OF_CONFIGFS=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=2 +CONFIG_BLK_DEV_RAM_SIZE=8192 +CONFIG_SRAM=y +CONFIG_ALTERA_HWMUTEX=y +CONFIG_ALTERA_SYSID=y +CONFIG_EEPROM_AT24=y +CONFIG_EEPROM_93CX6=m +CONFIG_ALTERA_STAPL=y +CONFIG_NETDEVICES=y +# CONFIG_NET_VENDOR_3COM is not set +# CONFIG_NET_VENDOR_ADAPTEC is not set +# CONFIG_NET_VENDOR_AGERE is not set +# CONFIG_NET_VENDOR_ALTEON is not set +# CONFIG_NET_VENDOR_AMD is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_ATHEROS is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_BROCADE is not set +# CONFIG_NET_VENDOR_CHELSIO is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_NET_VENDOR_CISCO is not set +# CONFIG_NET_VENDOR_DEC is not set +# CONFIG_NET_VENDOR_DLINK is not set +# CONFIG_NET_VENDOR_EMULEX is not set +# CONFIG_NET_VENDOR_EXAR is not set +# CONFIG_NET_VENDOR_FARADAY is not set +# CONFIG_NET_VENDOR_HISILICON is not set +# CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MELLANOX is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_MYRI is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_NVIDIA is not set +# CONFIG_NET_VENDOR_OKI is not set +# CONFIG_NET_PACKET_ENGINE is not set +# CONFIG_NET_VENDOR_QLOGIC is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +# CONFIG_NET_VENDOR_REALTEK is not set +# CONFIG_NET_VENDOR_RDC is not set +# CONFIG_NET_VENDOR_ROCKER is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SILAN is not set +# CONFIG_NET_VENDOR_SIS is not set +# CONFIG_NET_VENDOR_SMSC is not set +CONFIG_STMMAC_ETH=y +# CONFIG_NET_VENDOR_SUN is not set +# CONFIG_NET_VENDOR_TEHUTI is not set +# CONFIG_NET_VENDOR_TI is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_STE10XP=y +# CONFIG_WLAN is not set +# CONFIG_INPUT_MOUSEDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_SERIO_SERPORT is not set +CONFIG_SERIO_AMBAKMI=y +CONFIG_SERIO_LIBPS2=y +CONFIG_LEGACY_PTY_COUNT=16 +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_NR_UARTS=2 +CONFIG_SERIAL_8250_RUNTIME_UARTS=2 +CONFIG_SERIAL_8250_DW=y +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y +CONFIG_SPI=y +CONFIG_SPI_ALTERA=y +CONFIG_SPI_DESIGNWARE=y +CONFIG_SPI_DW_MMIO=y +CONFIG_SPI_SPIDEV=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_ALTERA=y +CONFIG_GPIO_DWAPB=y +CONFIG_GPIO_A10SYCON=y +CONFIG_SENSORS_A10SYCON=y +CONFIG_SENSORS_MAX1619=y +CONFIG_PMBUS=y +CONFIG_SENSORS_LTC2978=y +CONFIG_SENSORS_LTC2978_REGULATOR=y +CONFIG_WATCHDOG=y +CONFIG_DW_WATCHDOG=y +CONFIG_SSB=m +CONFIG_SSB_DRIVER_PCICORE=y +CONFIG_MFD_A10SYCON=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_VGA_ARB is not set +# CONFIG_USB_SUPPORT is not set +CONFIG_MMC=y +CONFIG_MMC_DW=y +CONFIG_MMC_DW_IDMAC=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_CPU=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_HCTOSYS is not set +CONFIG_RTC_DRV_DS1307=y +CONFIG_DMADEVICES=y +CONFIG_PL330_DMA=y +CONFIG_UIO=m +CONFIG_MAILBOX=y +CONFIG_ALTERA_MBOX=y +CONFIG_ARM_SMMU=y +CONFIG_A10SYCON_RESET=y +CONFIG_FPGA=y +CONFIG_FPGA_REGION=y +CONFIG_FPGA_MGR_SOCFPGA=y +CONFIG_FPGA_MGR_SOCFPGA_A10=y +CONFIG_FPGA_BRIDGE=y +CONFIG_SOCFPGA_FPGA_BRIDGE=y +CONFIG_ALTERA_FREEZE_BRIDGE=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS=y +# CONFIG_DNOTIFY is not set +CONFIG_VFAT_FS=m +CONFIG_TMPFS=y +CONFIG_JFFS2_FS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V4=y +CONFIG_ROOT_NFS=y +CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_ISO8859_1=m +CONFIG_PRINTK_TIME=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_FS=y +# CONFIG_SCHED_DEBUG is not set +# CONFIG_DEBUG_BUGVERBOSE is not set +# CONFIG_FTRACE is not set +# CONFIG_ARM_UNWIND is not set +CONFIG_CRC_CCITT=m +CONFIG_LIBCRC32C=m +CONFIG_XZ_DEC=y diff --git a/board/altera/socrates_cyclone5/linux.dts b/board/altera/socrates_cyclone5/linux.dts new file mode 100644 index 0000000..f915f44 --- /dev/null +++ b/board/altera/socrates_cyclone5/linux.dts @@ -0,0 +1,92 @@ +/* + * Copyright Altera Corporation (C) 2012,2014. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms and conditions of the GNU General Public License, + * version 2, as published by the Free Software Foundation. + * + * This program is distributed in the hope 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. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +#include "socfpga_cyclone5.dtsi" + +/ { + model = "EBC SOCrates"; + compatible = "ebv,socrates", "altr,socfpga_cyclone5", "altr,socfpga"; + + chosen { + bootargs = "earlyprintk"; + stdout-path = "serial0:115200n8"; + }; + + memory { + name = "memory"; + device_type = "memory"; + reg = <0x0 0x40000000>; /* 1GB */ + }; + + leds { + compatible = "gpio-leds"; + hps0 { + label = "hps_led0"; + gpios = <&portb 28 1>; + }; + }; +}; + +&gmac1 { + status = "okay"; + phy-mode = "rgmii"; + + rxd0-skew-ps = <0>; + rxd1-skew-ps = <0>; + rxd2-skew-ps = <0>; + rxd3-skew-ps = <0>; + txen-skew-ps = <0>; + txc-skew-ps = <2600>; + rxdv-skew-ps = <0>; + rxc-skew-ps = <2000>; + max-frame-size = <3800>; +}; + +&gpio0 { + status = "okay"; +}; + +&gpio1 { + status = "okay"; +}; + +&gpio2 { + status = "okay"; +}; + +&mmc0 { + cd-gpios = <&portb 18 0>; +}; + +&spi0 { + status = "okay"; + + spidev@0 { + /* spidev causes a WARN_ON() so spoof with DAC compat */ + compatible = "rohm,dh2228fv"; + reg = <0>; /* chip select */ + spi-max-frequency = <1000000>; + enable-dma = <1>; + }; +}; + +&uart0 { + status = "okay"; +}; + +&usb1 { + status = "okay"; +}; diff --git a/board/altera/socrates_cyclone5/preloader.bin b/board/altera/socrates_cyclone5/preloader.bin new file mode 100644 index 0000000000000000000000000000000000000000..ff7993386fae9a7c570fad0654beddefd35771c1 GIT binary patch literal 38176 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 rootfs.ext2 +├── rootfs.tar +├── sdcard.img +├── u-boot.bin +├── u-boot.img +├── uboot-env.bin +└── zImage + + +Creating bootable SD card +========================= + +Simply invoke + +dd if=output/images/sdcard.img of=/dev/sdX + +Where X is your SD card device (not partition) + +Booting +======= + +Pins 6:8 on P18 selector is used to determine boot device. To boot socrates from +sdcard set these pins to value 0x5 (101b). Rest pins are used to determine how +to configure FPGA and are not associate with booting into Linux kernel. diff --git a/configs/socrates_cyclone5_defconfig b/configs/socrates_cyclone5_defconfig new file mode 100644 index 0000000..95640ef --- /dev/null +++ b/configs/socrates_cyclone5_defconfig @@ -0,0 +1,34 @@ +BR2_arm=y +BR2_cortex_a9=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_FPU_NEON=y +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +BR2_KERNEL_HEADERS_4_1=y +BR2_GCC_VERSION_5_X=y +BR2_GCC_ENABLE_LTO=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/altera/socrates_cyclone5/create_sdcard.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/altera-opensource/linux-socfpga.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_socfpga-4.1.33-ltsi_17.07.02_pr" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/altera/socrates_cyclone5/linux-4.1.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_USE_CUSTOM_DTS=y +BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/altera/socrates_cyclone5/linux.dts" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="10M" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="socfpga_cyclone5" +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/altera-opensource/u-boot-socfpga.git" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_socfpga_v2013.01.01_16.10.02_pr" +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_ENVIMAGE=y +BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/altera/socrates_cyclone5/boot-env.txt" +BR2_TARGET_UBOOT_ENVIMAGE_SIZE="4096" +BR2_TARGET_UBOOT_BOOT_SCRIPT=y +BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/altera/socrates_cyclone5/boot.txt" +BR2_PACKAGE_HOST_GENIMAGE=y