From a4ff48fc447588a7de29755e7719bd26dee796fd Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Wed, 26 Feb 2014 15:35:21 +0100 Subject: [PATCH] linux: Add support for the sob-odu device This currently requires the meta-ti layer but we will make sure that nothing from it will be required in the end. The kernel is based on linux-3.2 as this is the "default" TI kernel that supports the SGX (not that we care) --- conf/machine/include/ti33x.inc | 42 +++ conf/machine/sysmocom-odu.conf | 33 ++ .../linux/files/sysmocom-odu/defconfig | 318 ++++++++++++++++++ recipes-bsp/linux/linux-sysmocom_3.2.bb | 7 +- 4 files changed, 399 insertions(+), 1 deletion(-) create mode 100644 conf/machine/include/ti33x.inc create mode 100644 conf/machine/sysmocom-odu.conf create mode 100644 recipes-bsp/linux/files/sysmocom-odu/defconfig diff --git a/conf/machine/include/ti33x.inc b/conf/machine/include/ti33x.inc new file mode 100644 index 0000000..f29c8b3 --- /dev/null +++ b/conf/machine/include/ti33x.inc @@ -0,0 +1,42 @@ +SOC_FAMILY = "ti33x" +require conf/machine/include/soc-family.inc + +require conf/machine/include/tune-cortexa8.inc + +PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" + +# For built-in LCD, add xf86-input-tslib +XSERVER = "xserver-xorg \ + xf86-input-evdev \ + xf86-input-mouse \ + xf86-video-fbdev \ + xf86-input-keyboard" + +# Default to external video, change to smallscreen for built-in LCD +GUI_MACHINE_CLASS = "bigscreen" + +# Increase this everytime you change something in the kernel +MACHINE_KERNEL_PR = "r21" + +# Default providers, may need to override for specific machines +PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging" +PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging" +PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging" + +KERNEL_IMAGETYPE = "zImage" + +UBOOT_ARCH = "arm" +UBOOT_MACHINE = "am335x_evm_config" + +UBOOT_ENTRYPOINT = "0x80008000" +UBOOT_LOADADDRESS = "0x80008000" + +# Use the expected value of the ubifs filesystem's volume name in the kernel +# and u-boot. +UBI_VOLNAME = "rootfs" + +EXTRA_IMAGEDEPENDS += "u-boot" + +# List common SoC features, may need to add touchscreen for specific machines +MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa ethernet sgx" + diff --git a/conf/machine/sysmocom-odu.conf b/conf/machine/sysmocom-odu.conf new file mode 100644 index 0000000..8b833d9 --- /dev/null +++ b/conf/machine/sysmocom-odu.conf @@ -0,0 +1,33 @@ +#@TYPE: Machine +#@NAME: sysmocom-odu +#@DESCRIPTION: Machine configuration for the sysmocom ODU + +require conf/machine/include/ti33x.inc + +IMAGE_FSTYPES += "ubi tar.gz" + +SERIAL_CONSOLE = "115200 ttyO0" + +# UBI information. Note that this is board and kernel specific. Changes +# in your kernel port may require changes in these variables. For more +# details about this board please see +# http://processors.wiki.ti.com/index.php/UBIFS_Support + +# do ubiattach /dev/ubi_ctrl -m 7 -O 2048 +# From dmesg: +# UBI: smallest flash I/O unit: 2048 +# UBI: logical eraseblock size: 126976 bytes +# from ubiattach stdout: +# UBI device number 0, total 1988 LEBs +MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 3836" + +# do ubiattach /dev/ubi_ctrl -m 7 -O 2048 +# from dmesg: +# UBI: smallest flash I/O unit: 2048 +# UBI: physical eraseblock size: 131072 bytes (128 KiB) +# UBI: sub-page size: 512 +# UBI: VID header offset: 2048 (aligned 2048) +UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512 -O 2048" + +# Go back to prefer our kernel +PREFERRED_PROVIDER_virtual/kernel = "linux-sysmocom" diff --git a/recipes-bsp/linux/files/sysmocom-odu/defconfig b/recipes-bsp/linux/files/sysmocom-odu/defconfig new file mode 100644 index 0000000..7c585cb --- /dev/null +++ b/recipes-bsp/linux/files/sysmocom-odu/defconfig @@ -0,0 +1,318 @@ +CONFIG_EXPERIMENTAL=y +CONFIG_LOCALVERSION="-PD13.1.2" +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=16 +CONFIG_BLK_DEV_INITRD=y +# CONFIG_PERF_EVENTS is not set +CONFIG_SLAB=y +CONFIG_PROFILING=y +CONFIG_OPROFILE=y +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_MODULE_SRCVERSION_ALL=y +# CONFIG_BLK_DEV_BSG is not set +CONFIG_ARCH_OMAP=y +CONFIG_OMAP_MUX_DEBUG=y +# CONFIG_OMAP_MCBSP is not set +CONFIG_OMAP_MBOX_FWK=y +# CONFIG_OMAP_32K_TIMER is not set +# CONFIG_ARCH_OMAP2 is not set +# CONFIG_ARCH_OMAP4 is not set +# CONFIG_SOC_OMAP3430 is not set +# CONFIG_SOC_OMAPTI81XX is not set +# CONFIG_MACH_OMAP3_BEAGLE is not set +# CONFIG_MACH_DEVKIT8000 is not set +# CONFIG_MACH_OMAP_LDP is not set +# CONFIG_MACH_OMAP3530_LV_SOM is not set +# CONFIG_MACH_OMAP3_TORPEDO is not set +# CONFIG_MACH_ENCORE is not set +# CONFIG_MACH_OVERO is not set +# CONFIG_MACH_OMAP3EVM is not set +# CONFIG_MACH_OMAP3517EVM is not set +# CONFIG_MACH_OMAP3_PANDORA is not set +# CONFIG_MACH_OMAP3_TOUCHBOOK is not set +# CONFIG_MACH_OMAP_3430SDP is not set +# CONFIG_MACH_NOKIA_RM680 is not set +# CONFIG_MACH_NOKIA_RX51 is not set +# CONFIG_MACH_OMAP_ZOOM2 is not set +# CONFIG_MACH_OMAP_ZOOM3 is not set +# CONFIG_MACH_CM_T35 is not set +# CONFIG_MACH_CM_T3517 is not set +# CONFIG_MACH_IGEP0020 is not set +# CONFIG_MACH_IGEP0030 is not set +# CONFIG_MACH_SBC3530 is not set +# CONFIG_MACH_OMAP_3630SDP is not set +# CONFIG_MACH_AM335XEVM is not set +# CONFIG_MACH_AM335XIAEVM is not set +CONFIG_OMAP3_EDMA=y +CONFIG_ARM_THUMBEE=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_HIGHMEM=y +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="root=/dev/mmcblk0p2 rootwait console=ttyO0,115200" +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_IDLE=y +CONFIG_FPE_NWFPE=y +CONFIG_BINFMT_MISC=y +# CONFIG_SUSPEND is not set +CONFIG_PM_DEBUG=y +CONFIG_PM_ADVANCED_DEBUG=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=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_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_LRO is not set +# CONFIG_INET_DIAG is not set +# CONFIG_IPV6 is not set +CONFIG_NETFILTER=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_IPV4=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_LOG=y +CONFIG_NF_NAT=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_CAN=y +CONFIG_CAN_RAW=y +CONFIG_CAN_BCM=y +CONFIG_CAN_D_CAN=y +CONFIG_CAN_D_CAN_PLATFORM=y +CONFIG_CFG80211=y +CONFIG_MAC80211=y +CONFIG_RFKILL=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_MTD=y +CONFIG_MTD_TESTS=m +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_OF_PARTS is not set +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CFI=y +CONFIG_MTD_CFI_INTELEXT=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_OMAP2=y +CONFIG_MTD_ONENAND=y +CONFIG_MTD_ONENAND_VERIFY_WRITE=y +CONFIG_MTD_ONENAND_OMAP2=y +CONFIG_MTD_UBI=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=16384 +CONFIG_MISC_DEVICES=y +CONFIG_SENSORS_TSL2550=y +CONFIG_EEPROM_AT24=y +CONFIG_SENSORS_LIS3_I2C=y +CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y +CONFIG_SCSI_MULTI_LUN=y +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_NETDEVICES=y +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CHELSIO is not set +# CONFIG_NET_VENDOR_FARADAY is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_STMICRO is not set +CONFIG_TI_DAVINCI_EMAC=y +CONFIG_TI_CPSW=y +CONFIG_TI_CPSW_DUAL_EMAC=y +CONFIG_SMSC_PHY=y +CONFIG_MICREL_PHY=y +CONFIG_USB_USBNET=y +# CONFIG_USB_NET_AX8817X is not set +# CONFIG_USB_NET_CDC_NCM is not set +# CONFIG_USB_NET_NET1080 is not set +# CONFIG_USB_BELKIN is not set +# CONFIG_USB_ARMLINUX is not set +# CONFIG_USB_NET_ZAURUS is not set +CONFIG_WL12XX_MENU=y +CONFIG_WL12XX=m +CONFIG_WL12XX_SDIO=m +CONFIG_INPUT_EVDEV=y +# CONFIG_KEYBOARD_ATKBD is not set +CONFIG_KEYBOARD_GPIO=y +CONFIG_KEYBOARD_MATRIX=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_EDT_FT5X06=y +CONFIG_TOUCHSCREEN_TI_TSC=y +CONFIG_INPUT_MISC=y +# CONFIG_SERIO_SERPORT is not set +CONFIG_VT_HW_CONSOLE_BINDING=y +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_MANY_PORTS=y +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_DETECT_IRQ=y +CONFIG_SERIAL_8250_RSA=y +# CONFIG_HW_RANDOM is not set +CONFIG_I2C_CHARDEV=y +CONFIG_SPI=y +CONFIG_SPI_OMAP24XX=y +CONFIG_GPIO_SYSFS=y +CONFIG_GENERIC_PWM=y +CONFIG_DAVINCI_EHRPWM=y +CONFIG_ECAP_PWM=y +CONFIG_SENSORS_LM75=y +CONFIG_WATCHDOG=y +CONFIG_OMAP_WATCHDOG=y +CONFIG_MFD_TI_TSCADC=y +CONFIG_MFD_TPS65910=y +CONFIG_REGULATOR_DUMMY=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_TPS65910=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_VIDEO_DEV=y +CONFIG_MEDIA_TUNER_CUSTOMISE=y +# CONFIG_MEDIA_TUNER_SIMPLE is not set +# CONFIG_MEDIA_TUNER_TDA8290 is not set +# CONFIG_MEDIA_TUNER_TDA827X is not set +# CONFIG_MEDIA_TUNER_TDA18271 is not set +# CONFIG_MEDIA_TUNER_TDA9887 is not set +# CONFIG_MEDIA_TUNER_TEA5761 is not set +# CONFIG_MEDIA_TUNER_TEA5767 is not set +# CONFIG_MEDIA_TUNER_MT20XX is not set +# CONFIG_MEDIA_TUNER_MT2060 is not set +# CONFIG_MEDIA_TUNER_MT2266 is not set +# CONFIG_MEDIA_TUNER_MT2131 is not set +# CONFIG_MEDIA_TUNER_QT1010 is not set +# CONFIG_MEDIA_TUNER_XC2028 is not set +# CONFIG_MEDIA_TUNER_XC5000 is not set +# CONFIG_MEDIA_TUNER_XC4000 is not set +# CONFIG_MEDIA_TUNER_MXL5005S is not set +# CONFIG_MEDIA_TUNER_MXL5007T is not set +# CONFIG_MEDIA_TUNER_MC44S803 is not set +# CONFIG_MEDIA_TUNER_MAX2165 is not set +# CONFIG_MEDIA_TUNER_TDA18218 is not set +# CONFIG_MEDIA_TUNER_TDA18212 is not set +CONFIG_USB_VIDEO_CLASS=y +# CONFIG_RADIO_ADAPTERS is not set +CONFIG_FB=y +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_DA8XX=y +CONFIG_FB_DA8XX_CONSISTENT_DMA_SIZE=8 +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=y +CONFIG_LCD_PLATFORM=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +# CONFIG_BACKLIGHT_GENERIC is not set +CONFIG_BACKLIGHT_PWM=y +CONFIG_BACKLIGHT_TLC59108=y +CONFIG_DISPLAY_SUPPORT=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_FONTS=y +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_LOGO=y +CONFIG_SOUND=y +CONFIG_SND=y +# CONFIG_SND_DRIVERS is not set +# CONFIG_SND_ARM is not set +# CONFIG_SND_SPI is not set +CONFIG_SND_USB_AUDIO=y +CONFIG_SND_SOC=y +CONFIG_SND_AM33XX_SOC=y +CONFIG_SND_PCM051_SOC_BOARD=y +CONFIG_USB=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_DEVICEFS=y +CONFIG_USB_SUSPEND=y +CONFIG_USB_OTG=y +# CONFIG_USB_OTG_WHITELIST is not set +CONFIG_USB_MUSB_HDRC=y +CONFIG_USB_MUSB_TI81XX_GLUE=y +CONFIG_MUSB_PIO_ONLY=y +CONFIG_USB_STORAGE=y +CONFIG_USB_SERIAL=y +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_MUSB_HDRC=y +CONFIG_USB_ZERO=m +CONFIG_USB_ETH=m +CONFIG_USB_FILE_STORAGE=m +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_G_SERIAL=m +CONFIG_MMC=y +CONFIG_MMC_UNSAFE_RESUME=y +CONFIG_SDIO_UART=y +CONFIG_MMC_OMAP_HS=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_M41T80=y +CONFIG_RTC_DRV_TPS65910=y +CONFIG_RTC_DRV_OMAP=y +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_EXT2_FS=y +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_XATTR is not set +CONFIG_QUOTA=y +CONFIG_QFMT_V2=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_SUMMARY=y +CONFIG_JFFS2_FS_XATTR=y +CONFIG_JFFS2_COMPRESSION_OPTIONS=y +CONFIG_JFFS2_LZO=y +CONFIG_JFFS2_RUBIN=y +CONFIG_UBIFS_FS=y +CONFIG_CRAMFS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=y +CONFIG_ROOT_NFS=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_PRINTK_TIME=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_DEBUG_FS=y +CONFIG_DEBUG_KERNEL=y +# CONFIG_FTRACE is not set +CONFIG_DYNAMIC_DEBUG=y +# CONFIG_ARM_UNWIND is not set +CONFIG_DEBUG_LL=y +CONFIG_EARLY_PRINTK=y +CONFIG_DEBUG_JTAG_ENABLE=y +CONFIG_SECURITY=y +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_MICHAEL_MIC=y +# CONFIG_CRYPTO_ANSI_CPRNG is not set +# CONFIG_CRYPTO_HW is not set +CONFIG_CRC_CCITT=y +CONFIG_CRC_T10DIF=y +CONFIG_CRC_ITU_T=y +CONFIG_CRC7=y +CONFIG_LIBCRC32C=y diff --git a/recipes-bsp/linux/linux-sysmocom_3.2.bb b/recipes-bsp/linux/linux-sysmocom_3.2.bb index bc73a7f..f84bba1 100644 --- a/recipes-bsp/linux/linux-sysmocom_3.2.bb +++ b/recipes-bsp/linux/linux-sysmocom_3.2.bb @@ -13,6 +13,11 @@ BTS_FIRMWARE_NAME_sysmobts-2050 = "sysmobts-v2" SRCREV = "bcc4fa827be7f59486ff305d664b42a142025f9b" +# odu handling. +SRCREV_sysmocom-odu = "f770b4d8361682c9ba80ca3aff17b49461932ccd" +FILES_kernel-image_sysmocom-odu = "" +LINUX_VERSION_sysmocom-odu = "3.2.55" + PR = "r31" PV = "${LINUX_VERSION}+git${SRCPV}" @@ -21,7 +26,7 @@ SRC_URI = "git://git.sysmocom.de/sysmo-bts/linux.git;protocol=git;branch=v3.2 \ file://defconfig" S = "${WORKDIR}/git" -COMPATIBLE_MACHINE = "(sysmobts-v1|sysmobts-v2|sysmobts-2050)" +COMPATIBLE_MACHINE = "(sysmobts-v1|sysmobts-v2|sysmobts-2050|sysmocom-odu)" EXTRA_OEMAKE += "KALLSYMS_EXTRA_PASS=1" # we do not want to have the kernel image inside the kernel