9
0
Fork 0

sysmocom odu: add support

Signed-off-by: Jan Luebbe <jluebbe@debian.org>
This commit is contained in:
Jan Luebbe 2015-06-11 18:22:26 +02:00
parent 389a090997
commit e89ca4ac09
19 changed files with 216 additions and 281 deletions

View File

@ -1,3 +1,4 @@
lwl-y += lowlevel.o
obj-y += board.o
bbenv-y += defaultenv-physom-am335x
bbenv-y += defaultenv-sysmocom-odu

View File

@ -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")) {

View File

@ -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

View File

@ -0,0 +1,3 @@
#!/bin/sh
bootchooser -d -w 120

View File

@ -0,0 +1,8 @@
#!/bin/sh
global bootm.image=/mnt/rescue/boot/zImage
#global bootm.oftree=<path to oftree>
#global bootm.initrd=<path to 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}"

View File

@ -0,0 +1,8 @@
#!/bin/sh
global bootm.image=/mnt/tftp/linux/arch/arm/boot/zImage
#global bootm.oftree=<path to oftree>
#global bootm.initrd=<path to 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}"

View File

@ -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}"

View File

@ -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}"

View File

@ -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'

View File

@ -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

View File

@ -0,0 +1 @@
nand nand-backup

View File

@ -0,0 +1 @@
sysmocom-odu

View File

@ -0,0 +1 @@
console=ttyO0,115200 panic=30

View File

@ -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);

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,127 @@
/*
* Copyright (C) 2015 Wadim Egorov <w.egorovphytec.de> 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 */
};
};
};

View File

@ -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