From e89ca4ac091b614552935c894dd37c43c29e12df Mon Sep 17 00:00:00 2001 From: Jan Luebbe Date: Thu, 11 Jun 2015 18:22:26 +0200 Subject: [PATCH] sysmocom odu: add support Signed-off-by: Jan Luebbe --- arch/arm/boards/phytec-som-am335x/Makefile | 1 + arch/arm/boards/phytec-som-am335x/board.c | 7 +- .../defaultenv-sysmocom-odu/bin/prepare-ubi | 14 + .../defaultenv-sysmocom-odu/boot/chooser | 3 + .../defaultenv-sysmocom-odu/boot/rescue | 8 + .../defaultenv-sysmocom-odu/boot/rescue-net | 8 + .../defaultenv-sysmocom-odu/boot/system0 | 10 + .../defaultenv-sysmocom-odu/boot/system1 | 10 + .../init/automount-nand | 10 + .../defaultenv-sysmocom-odu/init/lldp | 2 + .../defaultenv-sysmocom-odu/nv/boot.default | 1 + .../defaultenv-sysmocom-odu/nv/hostname | 1 + .../nv/linux.bootargs.console | 1 + .../nv/{login.timeout => login.timeout_off} | 0 arch/arm/boards/phytec-som-am335x/lowlevel.c | 4 + arch/arm/configs/am335x_mlo_odu_defconfig | 280 +----------------- arch/arm/dts/Makefile | 2 +- arch/arm/dts/am335x-sysmocom-odu.dts | 127 ++++++++ images/Makefile.am33xx | 8 + 19 files changed, 216 insertions(+), 281 deletions(-) create mode 100644 arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/bin/prepare-ubi create mode 100644 arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/chooser create mode 100644 arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/rescue create mode 100644 arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/rescue-net create mode 100644 arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/system0 create mode 100644 arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/system1 create mode 100644 arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/init/automount-nand create mode 100644 arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/nv/boot.default create mode 100644 arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/nv/hostname create mode 100644 arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/nv/linux.bootargs.console rename arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/nv/{login.timeout => login.timeout_off} (100%) create mode 100644 arch/arm/dts/am335x-sysmocom-odu.dts diff --git a/arch/arm/boards/phytec-som-am335x/Makefile b/arch/arm/boards/phytec-som-am335x/Makefile index 78397bd59..af02d8272 100644 --- a/arch/arm/boards/phytec-som-am335x/Makefile +++ b/arch/arm/boards/phytec-som-am335x/Makefile @@ -1,3 +1,4 @@ lwl-y += lowlevel.o obj-y += board.o bbenv-y += defaultenv-physom-am335x +bbenv-y += defaultenv-sysmocom-odu diff --git a/arch/arm/boards/phytec-som-am335x/board.c b/arch/arm/boards/phytec-som-am335x/board.c index 74e39d70f..2000b7180 100644 --- a/arch/arm/boards/phytec-som-am335x/board.c +++ b/arch/arm/boards/phytec-som-am335x/board.c @@ -76,7 +76,12 @@ static int physom_devices_init(void) } omap_set_barebox_part(&physom_barebox_part); - defaultenv_append_directory(defaultenv_physom_am335x); + + if (of_machine_is_compatible("sysmocom,odu")) { + defaultenv_append_directory(defaultenv_sysmocom_odu); + } else { + defaultenv_append_directory(defaultenv_physom_am335x); + } /* Special module set up */ if (of_machine_is_compatible("phytec,phycore-am335x-som")) { diff --git a/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/bin/prepare-ubi b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/bin/prepare-ubi new file mode 100644 index 000000000..0e2900261 --- /dev/null +++ b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/bin/prepare-ubi @@ -0,0 +1,14 @@ +#!/bin/sh + +if test -e /dev/nand0.root.ubi; then + exit 0 +fi + +# Linux 3.2.x needs VID header offset 2048 +ubiattach -d 0 -O 2048 /dev/nand0.root +if [ $? != 0 ]; then + echo "failed to run ubiattach" + exit 1 +fi + +exit 0 diff --git a/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/chooser b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/chooser new file mode 100644 index 000000000..2112d9894 --- /dev/null +++ b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/chooser @@ -0,0 +1,3 @@ +#!/bin/sh + +bootchooser -d -w 120 diff --git a/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/rescue b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/rescue new file mode 100644 index 000000000..75deba747 --- /dev/null +++ b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/rescue @@ -0,0 +1,8 @@ +#!/bin/sh + +global bootm.image=/mnt/rescue/boot/zImage +#global bootm.oftree= +#global bootm.initrd= + +global linux.bootargs.dyn.root="root=ubi0:rescue ubi.mtd=root,2048 rootfstype=ubifs ro rauc.slot=rescue" +global linux.bootargs.dyn.mtd="mtdparts=omap2-nand.0:${nand0.partitions}" diff --git a/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/rescue-net b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/rescue-net new file mode 100644 index 000000000..a7b0329a2 --- /dev/null +++ b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/rescue-net @@ -0,0 +1,8 @@ +#!/bin/sh + +global bootm.image=/mnt/tftp/linux/arch/arm/boot/zImage +#global bootm.oftree= +#global bootm.initrd= + +global linux.bootargs.dyn.root="root=ubi0:rescue ubi.mtd=root,2048 rootfstype=ubifs ro rauc.slot=rescue" +global linux.bootargs.dyn.mtd="mtdparts=omap2-nand.0:${nand0.partitions}" diff --git a/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/system0 b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/system0 new file mode 100644 index 000000000..1f30da695 --- /dev/null +++ b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/system0 @@ -0,0 +1,10 @@ +#!/bin/sh + +global bootm.image=/mnt/system0/kernel +if [ -e /mnt/system0/devicetree ]; then + global bootm.oftree=/mnt/system0/devicetree +fi +global bootm.initrd=/mnt/system0/initramfs + +global linux.bootargs.dyn.root="root=ubi0:system0 ubi.mtd=root,2048 rootfstype=ubifs ro rauc.slot=system0" +global linux.bootargs.dyn.mtd="mtdparts=omap2-nand.0:${nand0.partitions}" diff --git a/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/system1 b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/system1 new file mode 100644 index 000000000..aa5a77d56 --- /dev/null +++ b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/boot/system1 @@ -0,0 +1,10 @@ +#!/bin/sh + +global bootm.image=/mnt/system1/kernel +if [ -e /mnt/system1/devicetree ]; then + global bootm.oftree=/mnt/system1/devicetree +fi +global bootm.initrd=/mnt/system1/initramfs + +global linux.bootargs.dyn.root="root=ubi0:system1 ubi.mtd=root,2048 rootfstype=ubifs ro rauc.slot=system1" +global linux.bootargs.dyn.mtd="mtdparts=omap2-nand.0:${nand0.partitions}" diff --git a/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/init/automount-nand b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/init/automount-nand new file mode 100644 index 000000000..69f3fe3c4 --- /dev/null +++ b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/init/automount-nand @@ -0,0 +1,10 @@ +#!/bin/sh + +mkdir /mnt/system0 +automount -d /mnt/system0 'prepare-ubi && mount /dev/nand0.root.ubi.system0 /mnt/system0' + +mkdir /mnt/system1 +automount -d /mnt/system1 'prepare-ubi && mount /dev/nand0.root.ubi.system1 /mnt/system1' + +mkdir /mnt/rescue +automount -d /mnt/rescue 'prepare-ubi && mount /dev/nand0.root.ubi.rescue /mnt/rescue' diff --git a/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/init/lldp b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/init/lldp index 0f4d31c0c..ebfc0e82f 100644 --- a/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/init/lldp +++ b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/init/lldp @@ -1,3 +1,5 @@ +#!/bin/sh +# echo "Going to send LLDP probe in 2s" # Activate the ethernet and wait... 2s has been tried with a Phytec devboard lldp diff --git a/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/nv/boot.default b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/nv/boot.default new file mode 100644 index 000000000..5c398ec22 --- /dev/null +++ b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/nv/boot.default @@ -0,0 +1 @@ +nand nand-backup diff --git a/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/nv/hostname b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/nv/hostname new file mode 100644 index 000000000..bb6a437bf --- /dev/null +++ b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/nv/hostname @@ -0,0 +1 @@ +sysmocom-odu diff --git a/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/nv/linux.bootargs.console b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/nv/linux.bootargs.console new file mode 100644 index 000000000..d448d3ea1 --- /dev/null +++ b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/nv/linux.bootargs.console @@ -0,0 +1 @@ +console=ttyO0,115200 panic=30 diff --git a/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/nv/login.timeout b/arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/nv/login.timeout_off similarity index 100% rename from arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/nv/login.timeout rename to arch/arm/boards/phytec-som-am335x/defaultenv-sysmocom-odu/nv/login.timeout_off diff --git a/arch/arm/boards/phytec-som-am335x/lowlevel.c b/arch/arm/boards/phytec-som-am335x/lowlevel.c index 948bfa514..bac49eb86 100644 --- a/arch/arm/boards/phytec-som-am335x/lowlevel.c +++ b/arch/arm/boards/phytec-som-am335x/lowlevel.c @@ -135,3 +135,7 @@ PHYTEC_ENTRY(start_am33xx_phytec_phyflex_sdram, am335x_phytec_phyflex_som); /* phycard-som */ PHYTEC_ENTRY_MLO(start_am33xx_phytec_phycard_sram_256mb, am335x_phytec_phycard_som_mlo, PHYCARD_NT5CB128M16BP_256MB); PHYTEC_ENTRY(start_am33xx_phytec_phycard_sdram, am335x_phytec_phycard_som); + +/* sysmocom-odu */ +PHYTEC_ENTRY_MLO(start_am33xx_sysmocom_odu_sram, am335x_sysmocom_odu, PHYCARD_NT5CB128M16BP_256MB); +PHYTEC_ENTRY(start_am33xx_sysmocom_odu_sdram, am335x_sysmocom_odu); diff --git a/arch/arm/configs/am335x_mlo_odu_defconfig b/arch/arm/configs/am335x_mlo_odu_defconfig index 1d8428747..24ee4baa2 100644 --- a/arch/arm/configs/am335x_mlo_odu_defconfig +++ b/arch/arm/configs/am335x_mlo_odu_defconfig @@ -1,317 +1,39 @@ -# -# Automatically generated file; DO NOT EDIT. -# Barebox/arm 2014.07.0 Configuration -# -CONFIG_ARM=y - -# -# System Type -# -# CONFIG_BUILTIN_DTB is not set -# CONFIG_ARCH_AT91 is not set -# CONFIG_ARCH_BCM2835 is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_DAVINCI is not set -# CONFIG_ARCH_EP93XX is not set -# CONFIG_ARCH_HIGHBANK is not set -# CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_MVEBU is not set -# CONFIG_ARCH_MXS is not set -# CONFIG_ARCH_NETX is not set -# CONFIG_ARCH_NOMADIK is not set CONFIG_ARCH_OMAP=y -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_ROCKCHIP is not set -# CONFIG_ARCH_SOCFPGA is not set -# CONFIG_ARCH_S3C24xx is not set -# CONFIG_ARCH_S5PCxx is not set -# CONFIG_ARCH_S3C64xx is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_VEXPRESS is not set -# CONFIG_ARCH_TEGRA is not set -# CONFIG_ARCH_UEMD is not set -# CONFIG_ARCH_ZYNQ is not set - -# -# Processor Type -# -CONFIG_CPU_32=y -CONFIG_CPU_V7=y -CONFIG_CPU_32v7=y - -# -# processor features -# -# CONFIG_BOOT_ENDIANNESS_SWITCH is not set -CONFIG_BAREBOX_MAX_IMAGE_SIZE=0xffffffff - -# -# OMAP Features -# -CONFIG_ARCH_AM33XX=y -CONFIG_OMAP_CLOCK_SOURCE_DMTIMER0=y -CONFIG_OMAP_GPMC=y CONFIG_OMAP_BUILD_IFT=y -# CONFIG_OMAP_BUILD_SPI is not set CONFIG_OMAP_MULTI_BOARDS=y -# CONFIG_MACH_BEAGLEBONE is not set -CONFIG_MACH_PCM051=y -CONFIG_ARM_ASM_UNIFIED=y -CONFIG_AEABI=y +CONFIG_MACH_PHYTEC_SOM_AM335X=y CONFIG_THUMB2_BAREBOX=y - -# -# ARM specific settings -# -# CONFIG_CPU_V7_DCACHE_SKIP is not set -# CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS is not set -CONFIG_ARM_EXCEPTIONS=y -# CONFIG_ARM_UNWIND is not set -CONFIG_DEFCONFIG_LIST="$ARCH_DEFCONFIG" -CONFIG_HAS_KALLSYMS=y -CONFIG_HAS_MODULES=y -CONFIG_GENERIC_GPIO=y -CONFIG_BLOCK=y -CONFIG_FILETYPE=y - -# -# General Settings -# -CONFIG_LOCALVERSION="" -CONFIG_LOCALVERSION_AUTO=y -CONFIG_BANNER=y # CONFIG_MEMINFO is not set -# CONFIG_ENVIRONMENT_VARIABLES is not set - -# -# memory layout -# -CONFIG_HAVE_PBL_IMAGE=y -CONFIG_HAVE_PBL_MULTI_IMAGES=y -CONFIG_HAVE_IMAGE_COMPRESSION=y -CONFIG_PBL_IMAGE=y -CONFIG_PBL_MULTI_IMAGES=y -CONFIG_PBL_RELOCATABLE=y -CONFIG_IMAGE_COMPRESSION=y -# CONFIG_IMAGE_COMPRESSION_LZ4 is not set -CONFIG_IMAGE_COMPRESSION_LZO=y -# CONFIG_IMAGE_COMPRESSION_GZIP is not set -# CONFIG_IMAGE_COMPRESSION_NONE is not set CONFIG_MMU=y -CONFIG_MMU_EARLY=y -CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y CONFIG_TEXT_BASE=0x0 -CONFIG_BAREBOX_MAX_PBL_SIZE=0xffffffff -CONFIG_BAREBOX_MAX_BARE_INIT_SIZE=0xffffffff -CONFIG_STACK_SIZE=0x8000 CONFIG_MALLOC_SIZE=0x0 -# CONFIG_BROKEN is not set -# CONFIG_EXPERIMENTAL is not set -# CONFIG_MALLOC_DLMALLOC is not set CONFIG_MALLOC_TLSF=y -# CONFIG_MALLOC_DUMMY is not set -# CONFIG_KALLSYMS is not set CONFIG_RELOCATABLE=y -# CONFIG_PANIC_HANG is not set CONFIG_PROMPT="MLO>" -CONFIG_BAUDRATE=115200 -CONFIG_SIMPLE_READLINE=y -CONFIG_CBSIZE=1024 -# CONFIG_SHELL_HUSH is not set -# CONFIG_SHELL_SIMPLE is not set CONFIG_SHELL_NONE=y -# CONFIG_GLOB is not set -# CONFIG_MENU is not set -# CONFIG_PASSWORD is not set # CONFIG_ERRNO_MESSAGES is not set # CONFIG_TIMESTAMP is not set -# CONFIG_BLSPEC is not set -# CONFIG_KERNEL_INSTALL_TARGET is not set -CONFIG_CONSOLE_FULL=y -# CONFIG_CONSOLE_SIMPLE is not set -# CONFIG_CONSOLE_NONE is not set -# CONFIG_CONSOLE_ACTIVATE_FIRST is not set -# CONFIG_CONSOLE_ACTIVATE_ALL is not set CONFIG_CONSOLE_ACTIVATE_NONE=y -CONFIG_PARTITION=y -CONFIG_PARTITION_DISK=y -CONFIG_PARTITION_DISK_DOS=y -# CONFIG_PARTITION_DISK_EFI is not set # CONFIG_DEFAULT_ENVIRONMENT is not set -CONFIG_DEFAULT_COMPRESSION_NONE=y -CONFIG_HAVE_DEFAULT_ENVIRONMENT_NEW=y -# CONFIG_BAREBOXENV_TARGET is not set -# CONFIG_BAREBOXCRC32_TARGET is not set -# CONFIG_POLLER is not set - -# -# Debugging -# -CONFIG_COMPILE_LOGLEVEL=6 -CONFIG_DEFAULT_LOGLEVEL=7 -# CONFIG_DEBUG_INFO is not set -# CONFIG_DEBUG_LL is not set -CONFIG_DEBUG_OMAP_UART_PORT=1 -# CONFIG_DEBUG_INITCALLS is not set -CONFIG_HAS_DEBUG_LL=y -# CONFIG_HAS_POWEROFF is not set -# CONFIG_NET is not set - -# -# Drivers -# -CONFIG_OFTREE=y -CONFIG_OFTREE_MEM_GENERIC=y -CONFIG_DTC=y CONFIG_OFDEVICE=y -CONFIG_OF_GPIO=y - -# -# serial drivers -# -# CONFIG_DRIVER_SERIAL_ARM_DCC is not set CONFIG_DRIVER_SERIAL_NS16550=y CONFIG_DRIVER_SERIAL_NS16550_OMAP_EXTENSIONS=y -# CONFIG_DRIVER_SERIAL_CADENCE is not set - -# -# SPI drivers -# -CONFIG_SPI=y -CONFIG_DRIVER_SPI_OMAP3=y -# CONFIG_I2C is not set CONFIG_MTD=y # CONFIG_MTD_WRITE is not set # CONFIG_MTD_OOB_DEVICE is not set -# CONFIG_MTD_RAW_DEVICE is not set - -# -# Self contained MTD devices -# -# CONFIG_MTD_DATAFLASH is not set CONFIG_MTD_M25P80=y -# CONFIG_MTD_SST25L is not set -# CONFIG_MTD_DOCG3 is not set -# CONFIG_DRIVER_CFI is not set CONFIG_NAND=y # CONFIG_NAND_ECC_SOFT is not set -# CONFIG_NAND_ECC_BCH is not set -CONFIG_NAND_ECC_HW=y -# CONFIG_NAND_ECC_HW_OOB_FIRST is not set # CONFIG_NAND_ECC_HW_SYNDROME is not set # CONFIG_NAND_ECC_HW_NONE is not set # CONFIG_NAND_INFO is not set # CONFIG_NAND_BBT is not set CONFIG_NAND_OMAP_GPMC=y -# CONFIG_MTD_NAND_ECC_SMC is not set -CONFIG_MTD_NAND_IDS=y -# CONFIG_MTD_UBI is not set -CONFIG_DISK=y -# CONFIG_DISK_WRITE is not set - -# -# drive types -# -# CONFIG_DISK_ATA is not set -# CONFIG_DISK_AHCI is not set - -# -# interface types -# -# CONFIG_DISK_INTF_PLATFORM_IDE is not set -# CONFIG_USB is not set -# CONFIG_VIDEO is not set CONFIG_MCI=y - -# -# --- Feature list --- -# -# CONFIG_MCI_STARTUP is not set # CONFIG_MCI_WRITE is not set -# CONFIG_MCI_MMC_BOOT_PARTITIONS is not set - -# -# --- MCI host drivers --- -# -# CONFIG_MCI_DW is not set -CONFIG_MCI_OMAP_HSMMC=y -# CONFIG_MCI_SPI is not set -# CONFIG_CLOCKSOURCE_DUMMY is not set - -# -# MFD -# -# CONFIG_MFD_MC13XXX is not set -# CONFIG_MFD_SYSCON is not set - -# -# Misc devices -# -# CONFIG_JTAG is not set -# CONFIG_SRAM is not set -# CONFIG_LED is not set - -# -# EEPROM support -# -# CONFIG_EEPROM_AT25 is not set - -# -# Input device support -# -# CONFIG_KEYBOARD_GPIO is not set -# CONFIG_WATCHDOG is not set -# CONFIG_PWM is not set - -# -# DMA support -# -CONFIG_GPIOLIB=y - -# -# GPIO -# -# CONFIG_GPIO_GENERIC_PLATFORM is not set -# CONFIG_GPIO_IMX is not set -CONFIG_GPIO_OMAP=y -# CONFIG_GPIO_DESIGNWARE is not set -# CONFIG_W1 is not set -CONFIG_PINCTRL=y CONFIG_PINCTRL_SINGLE=y - -# -# Bus devices -# CONFIG_BUS_OMAP_GPMC=y -# CONFIG_REGULATOR is not set -# CONFIG_RESET_CONTROLLER is not set - -# -# Filesystem support -# -CONFIG_FS=y -# CONFIG_FS_CRAMFS is not set -# CONFIG_FS_EXT4 is not set # CONFIG_FS_RAMFS is not set # CONFIG_FS_DEVFS is not set CONFIG_FS_FAT=y -# CONFIG_FS_FAT_WRITE is not set CONFIG_FS_FAT_LFN=y -# CONFIG_FS_BPKFS is not set -# CONFIG_FS_UIMAGEFS is not set - -# -# Library routines -# -# CONFIG_ZLIB is not set -# CONFIG_BZLIB is not set -# CONFIG_LZ4_DECOMPRESS is not set -# CONFIG_GENERIC_FIND_NEXT_BIT is not set -# CONFIG_PROCESS_ESCAPE_SEQUENCE is not set -# CONFIG_LZO_DECOMPRESS is not set - -# -# Library gui routines -# -# CONFIG_BOOTSTRAP is not set -# CONFIG_DIGEST is not set diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 42724611b..f71515a01 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -32,7 +32,7 @@ pbl-dtb-$(CONFIG_MACH_PCAAXL3) += imx6q-phytec-pbaa03.dtb.o pbl-dtb-$(CONFIG_MACH_PCM038) += imx27-phytec-phycore-rdk.dtb.o pbl-dtb-$(CONFIG_MACH_PHYTEC_SOM_AM335X) += am335x-phytec-phyflex-som.dtb.o am335x-phytec-phyflex-som-mlo.dtb.o \ am335x-phytec-phycore-som.dtb.o am335x-phytec-phycore-som-no-spi.dtb.o am335x-phytec-phycore-som-mlo.dtb.o \ - am335x-phytec-phycard-som.dtb.o am335x-phytec-phycard-som-mlo.dtb.o + am335x-phytec-phycard-som.dtb.o am335x-phytec-phycard-som-mlo.dtb.o am335x-sysmocom-odu.dtb.o pbl-dtb-$(CONFIG_MACH_PHYTEC_PFLA02) += imx6s-phytec-pbab01.dtb.o imx6dl-phytec-pbab01.dtb.o imx6q-phytec-pbab01.dtb.o imx6q-phytec-phyboard-alcor.dtb.o imx6dl-phytec-phyboard-subra.dtb.o pbl-dtb-$(CONFIG_MACH_PLATHOME_OPENBLOCKS_AX3) += armada-xp-openblocks-ax3-4-bb.dtb.o pbl-dtb-$(CONFIG_MACH_PLATHOME_OPENBLOCKS_A6) += kirkwood-openblocks_a6-bb.dtb.o diff --git a/arch/arm/dts/am335x-sysmocom-odu.dts b/arch/arm/dts/am335x-sysmocom-odu.dts new file mode 100644 index 000000000..44908f680 --- /dev/null +++ b/arch/arm/dts/am335x-sysmocom-odu.dts @@ -0,0 +1,127 @@ +/* + * Copyright (C) 2015 Wadim Egorov PHYTEC Messtechnik GmbH + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +/dts-v1/; + +#include "am33xx.dtsi" +#include "am335x-phytec-phycore-som.dtsi" + +/ { + model = "sysmocom ODU"; + compatible = "sysmocom,odu", "phytec,phycore-am335x-som", "phytec,am335x-som", "ti,am33xx"; + + state: state { + compatible = "barebox,state"; + magic = <0x6c15c8df>; + backend-type = "raw"; + backend = &eeprom_baseboard, "partname:state"; + + bootstate { + system0 { + #address-cells = <1>; + #size-cells = <1>; + + remaining_attempts { + reg = <0x0 0x1>; + type = "uint8"; + }; + priority { + reg = <0x1 0x1>; + type = "uint8"; + }; + ok { + reg = <0x2 0x1>; + type = "uint8"; + }; + }; + + system1 { + #address-cells = <1>; + #size-cells = <1>; + + remaining_attempts { + reg = <0x3 0x1>; + type = "uint8"; + }; + priority { + reg = <0x4 0x1>; + type = "uint8"; + }; + ok { + reg = <0x5 0x1>; + type = "uint8"; + }; + }; + + rescue { + #address-cells = <1>; + #size-cells = <1>; + + remaining_attempts { + reg = <0x6 0x1>; + type = "uint8"; + }; + priority { + reg = <0x7 0x1>; + type = "uint8"; + }; + ok { + reg = <0x8 0x1>; + type = "uint8"; + }; + }; + }; + }; + + bootstate: bootstate { + compatible = "barebox,bootstate"; + backend-type = "state"; + backend = <&state>; + + system0 { + default_attempts = <3>; + }; + + system1 { + default_attempts = <3>; + }; + + rescue { + default_attempts = <3>; + }; + }; +}; + +&nand { + partition@5 { + label = "bareboxenv"; + reg = <0x100000 0x20000>; + }; + + partition@6 { + label = "root"; + reg = <0x120000 0x0>; + }; +}; + +&i2c0 { + eeprom_baseboard: 24c02@50 { + status = "okay"; + compatible = "atmel,24c02"; + pagesize = <8>; + reg = <0x50>; + + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "state"; + reg = <0xc0 0x40>; /* last 0x40 bytes for eeprom */ + }; + }; +}; + diff --git a/images/Makefile.am33xx b/images/Makefile.am33xx index eae2a6a6e..a4347a1c5 100644 --- a/images/Makefile.am33xx +++ b/images/Makefile.am33xx @@ -15,6 +15,14 @@ pblx-$(CONFIG_MACH_AFI_GF) += start_am33xx_afi_gf_sram FILE_barebox-am33xx-afi-gf-mlo.img = start_am33xx_afi_gf_sram.pblx.mlo am33xx-mlo-$(CONFIG_MACH_AFI_GF) += barebox-am33xx-afi-gf-mlo.img +pblx-$(CONFIG_MACH_PHYTEC_SOM_AM335X) += start_am33xx_sysmocom_odu_sdram +FILE_barebox-am33xx-sysmocom-odu.img = start_am33xx_sysmocom_odu_sdram.pblx +am33xx-barebox-$(CONFIG_MACH_PHYTEC_SOM_AM335X) += barebox-am33xx-sysmocom-odu.img + +pblx-$(CONFIG_MACH_PHYTEC_SOM_AM335X) += start_am33xx_sysmocom_odu_sram +FILE_barebox-am33xx-sysmocom-odu-mlo.img = start_am33xx_sysmocom_odu_sram.pblx.mlo +am33xx-mlo-$(CONFIG_MACH_PHYTEC_SOM_AM335X) += barebox-am33xx-sysmocom-odu-mlo.img + pblx-$(CONFIG_MACH_PHYTEC_SOM_AM335X) += start_am33xx_phytec_phycore_sdram FILE_barebox-am33xx-phytec-phycore.img = start_am33xx_phytec_phycore_sdram.pblx am33xx-barebox-$(CONFIG_MACH_PHYTEC_SOM_AM335X) += barebox-am33xx-phytec-phycore.img