diff --git a/bbb-env b/bbb-env new file mode 100755 index 0000000000000000000000000000000000000000..952f9951a62a941119dfbc40860989e403c40792 --- /dev/null +++ b/bbb-env @@ -0,0 +1,15 @@ +#!/bin/bash +SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +echo "${SCRIPTDIR}" + +#install development environment +${SCRIPTDIR}/install-environment.sh ${SCRIPTDIR} + +#install buildroot repository to generate the U-Boot, the Linux kernel and the rootfs +mkdir -p ~/workspace/bbb +cd ~/workspace/bbb +git clone git://git.buildroot.net/buildroot +cd buildroot +git checkout -b bbb 2018.11.2 +patch -p1 < ${SCRIPTDIR}/config/buildroot_bbb.patch +make bbb-heiafr_defconfig diff --git a/config/buildroot_bbb.patch b/config/buildroot_bbb.patch new file mode 100644 index 0000000000000000000000000000000000000000..62e7e550f951c9ca55ff20ed790350e94f3627d3 --- /dev/null +++ b/config/buildroot_bbb.patch @@ -0,0 +1,774 @@ + board/bbb-heiafr/boot.cmd | 6 + + board/bbb-heiafr/genimage.cfg | 29 ++ + board/bbb-heiafr/linux_defconfig | 503 +++++++++++++++++++++ + .../0001-keep-jtag-clock-alive-for-debugger.patch | 16 + + .../patches/linux/0002_random_ssh_key_gen.patch | 16 + + .../patches/linux/0003-bbb-heiafr-seg7-gpio.patch | 37 ++ + .../patches/uboot/0001-board-seg7-gpio.patch | 28 ++ + configs/bbb-heiafr_defconfig | 81 ++++ + 8 files changed, 716 insertions(+) + +diff --git a/board/bbb-heiafr/boot.cmd b/board/bbb-heiafr/boot.cmd +new file mode 100644 +index 0000000000..4f367003fe +--- /dev/null ++++ b/board/bbb-heiafr/boot.cmd +@@ -0,0 +1,6 @@ ++setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait ++ ++fatload mmc 0 $kernel_addr_r zImage ++fatload mmc 0 $fdt_addr_r am335x-boneblack.dtb ++ ++bootz $kernel_addr_r - $fdt_addr_r +diff --git a/board/bbb-heiafr/genimage.cfg b/board/bbb-heiafr/genimage.cfg +new file mode 100644 +index 0000000000..664e242d92 +--- /dev/null ++++ b/board/bbb-heiafr/genimage.cfg +@@ -0,0 +1,29 @@ ++image boot.vfat { ++ vfat { ++ files = { ++ "MLO", ++ "u-boot.img", ++ "zImage", ++ "am335x-boneblack.dtb", ++ "boot.scr", ++ } ++ } ++ size = 16M ++} ++ ++image sdcard.img { ++ hdimage { ++ } ++ ++ partition u-boot { ++ partition-type = 0xC ++ bootable = "true" ++ image = "boot.vfat" ++ } ++ ++ partition rootfs { ++ partition-type = 0x83 ++ image = "rootfs.ext4" ++ size = 1G ++ } ++} +diff --git a/board/bbb-heiafr/linux_defconfig b/board/bbb-heiafr/linux_defconfig +new file mode 100644 +index 0000000000..22181714c3 +--- /dev/null ++++ b/board/bbb-heiafr/linux_defconfig +@@ -0,0 +1,503 @@ ++CONFIG_SYSVIPC=y ++CONFIG_POSIX_MQUEUE=y ++CONFIG_AUDIT=y ++CONFIG_NO_HZ=y ++CONFIG_HIGH_RES_TIMERS=y ++CONFIG_BSD_PROCESS_ACCT=y ++CONFIG_IKCONFIG=y ++CONFIG_IKCONFIG_PROC=y ++CONFIG_LOG_BUF_SHIFT=16 ++CONFIG_CGROUPS=y ++CONFIG_MEMCG=y ++CONFIG_MEMCG_SWAP=y ++CONFIG_BLK_CGROUP=y ++CONFIG_CGROUP_SCHED=y ++CONFIG_CFS_BANDWIDTH=y ++CONFIG_RT_GROUP_SCHED=y ++CONFIG_CGROUP_FREEZER=y ++CONFIG_CPUSETS=y ++CONFIG_CGROUP_DEVICE=y ++CONFIG_CGROUP_CPUACCT=y ++CONFIG_CGROUP_PERF=y ++CONFIG_NAMESPACES=y ++CONFIG_BLK_DEV_INITRD=y ++CONFIG_EXPERT=y ++CONFIG_SLAB=y ++CONFIG_PROFILING=y ++CONFIG_POWER_AVS_OMAP=y ++CONFIG_POWER_AVS_OMAP_CLASS3=y ++CONFIG_OMAP_RESET_CLOCKS=y ++CONFIG_ARCH_OMAP3=y ++CONFIG_ARCH_OMAP4=y ++CONFIG_SOC_OMAP5=y ++CONFIG_SOC_AM33XX=y ++CONFIG_SOC_AM43XX=y ++CONFIG_SOC_DRA7XX=y ++CONFIG_ARM_THUMBEE=y ++CONFIG_PCI=y ++CONFIG_PCI_MSI=y ++CONFIG_PCI_DRA7XX_EP=y ++CONFIG_PCI_ENDPOINT=y ++CONFIG_PCI_ENDPOINT_CONFIGFS=y ++CONFIG_PCI_EPF_TEST=m ++CONFIG_SMP=y ++CONFIG_NR_CPUS=2 ++CONFIG_SECCOMP=y ++CONFIG_ZBOOT_ROM_TEXT=0x0 ++CONFIG_ZBOOT_ROM_BSS=0x0 ++CONFIG_ARM_APPENDED_DTB=y ++CONFIG_ARM_ATAG_DTB_COMPAT=y ++CONFIG_CMDLINE="root=/dev/mmcblk0p2 rootwait console=ttyS0,115200" ++CONFIG_KEXEC=y ++CONFIG_CPU_FREQ=y ++CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y ++CONFIG_CPU_FREQ_GOV_POWERSAVE=y ++CONFIG_CPU_FREQ_GOV_USERSPACE=y ++CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y ++CONFIG_CPUFREQ_DT=m ++# CONFIG_ARM_OMAP2PLUS_CPUFREQ is not set ++CONFIG_ARM_TI_CPUFREQ=y ++CONFIG_CPU_IDLE=y ++CONFIG_KERNEL_MODE_NEON=y ++CONFIG_PM_DEBUG=y ++CONFIG_ARM_CRYPTO=y ++CONFIG_CRYPTO_SHA1_ARM_NEON=m ++CONFIG_CRYPTO_SHA256_ARM=m ++CONFIG_CRYPTO_SHA512_ARM=m ++CONFIG_CRYPTO_AES_ARM=m ++CONFIG_CRYPTO_AES_ARM_BS=m ++CONFIG_CRYPTO_GHASH_ARM_CE=m ++CONFIG_CRYPTO_CHACHA20_NEON=m ++CONFIG_OPROFILE=y ++CONFIG_KPROBES=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_PARTITION_ADVANCED=y ++CONFIG_BINFMT_MISC=y ++CONFIG_CMA=y ++CONFIG_NET=y ++CONFIG_PACKET=y ++CONFIG_UNIX=y ++CONFIG_XFRM_USER=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 is not set ++CONFIG_NETFILTER=y ++CONFIG_BT=m ++CONFIG_BT_RFCOMM=m ++CONFIG_BT_RFCOMM_TTY=y ++CONFIG_BT_BNEP=m ++CONFIG_BT_BNEP_MC_FILTER=y ++CONFIG_BT_BNEP_PROTO_FILTER=y ++CONFIG_BT_HIDP=m ++CONFIG_BT_HCIBTUSB=m ++CONFIG_BT_HCIBTSDIO=m ++CONFIG_BT_HCIUART=m ++CONFIG_BT_HCIUART_NOKIA=m ++CONFIG_BT_HCIUART_BCSP=y ++CONFIG_BT_HCIUART_LL=y ++CONFIG_BT_HCIUART_3WIRE=y ++CONFIG_BT_HCIUART_BCM=y ++CONFIG_BT_HCIBCM203X=m ++CONFIG_BT_HCIBPA10X=m ++CONFIG_BT_HCIBFUSB=m ++CONFIG_BT_HCIVHCI=m ++CONFIG_BT_MRVL=m ++CONFIG_BT_MRVL_SDIO=m ++CONFIG_AF_RXRPC=m ++CONFIG_RXKAD=y ++CONFIG_CFG80211=m ++CONFIG_MAC80211=m ++CONFIG_DEVTMPFS=y ++CONFIG_DEVTMPFS_MOUNT=y ++CONFIG_DMA_CMA=y ++CONFIG_OMAP_OCP2SCP=y ++CONFIG_CONNECTOR=m ++CONFIG_MTD=y ++CONFIG_MTD_CMDLINE_PARTS=y ++CONFIG_MTD_BLOCK=y ++CONFIG_MTD_OOPS=y ++CONFIG_MTD_CFI=y ++CONFIG_MTD_CFI_INTELEXT=y ++CONFIG_MTD_PHYSMAP=y ++CONFIG_MTD_PHYSMAP_OF=y ++CONFIG_MTD_M25P80=m ++CONFIG_MTD_ONENAND=y ++CONFIG_MTD_ONENAND_VERIFY_WRITE=y ++CONFIG_MTD_ONENAND_OMAP2=y ++CONFIG_MTD_NAND=y ++CONFIG_MTD_NAND_ECC_BCH=y ++CONFIG_MTD_NAND_OMAP2=y ++CONFIG_MTD_NAND_OMAP_BCH=y ++CONFIG_MTD_SPI_NOR=m ++CONFIG_MTD_UBI=y ++CONFIG_BLK_DEV_LOOP=y ++CONFIG_BLK_DEV_RAM=y ++CONFIG_BLK_DEV_RAM_SIZE=16384 ++CONFIG_SRAM=y ++CONFIG_PCI_ENDPOINT_TEST=m ++CONFIG_EEPROM_AT24=m ++CONFIG_BLK_DEV_SD=y ++CONFIG_SCSI_SCAN_ASYNC=y ++CONFIG_ATA=y ++CONFIG_SATA_AHCI_PLATFORM=y ++CONFIG_AHCI_DM816=m ++CONFIG_NETDEVICES=y ++# CONFIG_NET_VENDOR_ARC is not set ++# CONFIG_NET_VENDOR_BROADCOM is not set ++# CONFIG_NET_VENDOR_CIRRUS is not set ++CONFIG_DM9000=y ++# CONFIG_NET_VENDOR_FARADAY is not set ++# CONFIG_NET_VENDOR_HISILICON is not set ++# CONFIG_NET_VENDOR_INTEL is not set ++# CONFIG_NET_VENDOR_MARVELL is not set ++CONFIG_KS8851=y ++CONFIG_KS8851_MLL=y ++# CONFIG_NET_VENDOR_MICROCHIP is not set ++# CONFIG_NET_VENDOR_NATSEMI is not set ++# CONFIG_NET_VENDOR_QUALCOMM is not set ++# CONFIG_NET_VENDOR_SAMSUNG is not set ++# CONFIG_NET_VENDOR_SEEQ is not set ++CONFIG_SMC91X=y ++CONFIG_SMSC911X=y ++# CONFIG_NET_VENDOR_STMICRO is not set ++CONFIG_TI_DAVINCI_EMAC=y ++CONFIG_TI_CPSW=y ++CONFIG_TI_CPTS=y ++# CONFIG_NET_VENDOR_VIA is not set ++# CONFIG_NET_VENDOR_WIZNET is not set ++CONFIG_AT803X_PHY=y ++CONFIG_DP83848_PHY=y ++CONFIG_DP83867_PHY=y ++CONFIG_MICREL_PHY=y ++CONFIG_SMSC_PHY=y ++CONFIG_PPP=m ++CONFIG_PPP_BSDCOMP=m ++CONFIG_PPP_DEFLATE=m ++CONFIG_PPP_FILTER=y ++CONFIG_PPP_MPPE=m ++CONFIG_PPP_MULTILINK=y ++CONFIG_PPPOE=m ++CONFIG_PPP_ASYNC=m ++CONFIG_PPP_SYNC_TTY=m ++CONFIG_USB_USBNET=m ++CONFIG_USB_NET_SMSC75XX=m ++CONFIG_USB_NET_SMSC95XX=m ++CONFIG_USB_ALI_M5632=y ++CONFIG_USB_AN2720=y ++CONFIG_USB_EPSON2888=y ++CONFIG_USB_KC2190=y ++CONFIG_USB_NET_QMI_WWAN=m ++CONFIG_LIBERTAS=m ++CONFIG_LIBERTAS_USB=m ++CONFIG_LIBERTAS_SDIO=m ++CONFIG_LIBERTAS_DEBUG=y ++CONFIG_MWIFIEX=m ++CONFIG_MWIFIEX_SDIO=m ++CONFIG_MWIFIEX_USB=m ++CONFIG_WL12XX=m ++CONFIG_WL18XX=m ++CONFIG_WLCORE_SPI=m ++CONFIG_WLCORE_SDIO=m ++CONFIG_INPUT_MATRIXKMAP=m ++CONFIG_INPUT_MOUSEDEV=m ++CONFIG_INPUT_JOYDEV=m ++CONFIG_INPUT_EVDEV=m ++# CONFIG_INPUT_KEYBOARD is not set ++# CONFIG_INPUT_MOUSE is not set ++CONFIG_INPUT_TOUCHSCREEN=y ++CONFIG_TOUCHSCREEN_ADS7846=m ++CONFIG_TOUCHSCREEN_ATMEL_MXT=m ++CONFIG_TOUCHSCREEN_EDT_FT5X06=m ++CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m ++CONFIG_TOUCHSCREEN_PIXCIR=m ++CONFIG_TOUCHSCREEN_TSC2004=m ++CONFIG_TOUCHSCREEN_TSC2005=m ++CONFIG_TOUCHSCREEN_TSC2007=m ++CONFIG_INPUT_MISC=y ++CONFIG_INPUT_CPCAP_PWRBUTTON=m ++CONFIG_INPUT_TPS65218_PWRBUTTON=m ++CONFIG_INPUT_TWL4030_PWRBUTTON=m ++CONFIG_INPUT_UINPUT=m ++CONFIG_INPUT_PALMAS_PWRBUTTON=m ++CONFIG_INPUT_PWM_VIBRA=m ++CONFIG_SERIO=m ++CONFIG_SERIO_LIBPS2=m ++# CONFIG_LEGACY_PTYS is not set ++CONFIG_SERIAL_8250=y ++CONFIG_SERIAL_8250_CONSOLE=y ++CONFIG_SERIAL_8250_NR_UARTS=32 ++CONFIG_SERIAL_8250_RUNTIME_UARTS=6 ++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_SERIAL_8250_OMAP=y ++CONFIG_SERIAL_OF_PLATFORM=y ++CONFIG_SERIAL_OMAP=y ++CONFIG_SERIAL_OMAP_CONSOLE=y ++CONFIG_SERIAL_DEV_BUS=y ++CONFIG_I2C_CHARDEV=y ++CONFIG_SPI=y ++CONFIG_SPI_OMAP24XX=y ++CONFIG_SPI_SPIDEV=y ++CONFIG_PINCTRL_SINGLE=y ++CONFIG_DEBUG_GPIO=y ++CONFIG_GPIO_SYSFS=y ++CONFIG_GPIO_LP87565=y ++CONFIG_GPIO_PALMAS=y ++CONFIG_GPIO_TWL4030=y ++CONFIG_POWER_AVS=y ++CONFIG_POWER_RESET=y ++CONFIG_POWER_RESET_GPIO=y ++CONFIG_BATTERY_BQ27XXX=m ++CONFIG_CHARGER_ISP1704=m ++CONFIG_CHARGER_TWL4030=m ++CONFIG_CHARGER_BQ2415X=m ++CONFIG_CHARGER_BQ24190=m ++CONFIG_CHARGER_BQ24735=m ++# CONFIG_HWMON is not set ++CONFIG_THERMAL=y ++CONFIG_THERMAL_GOV_FAIR_SHARE=y ++CONFIG_THERMAL_GOV_USER_SPACE=y ++CONFIG_CPU_THERMAL=y ++CONFIG_TI_SOC_THERMAL=m ++CONFIG_TI_THERMAL=y ++CONFIG_OMAP4_THERMAL=y ++CONFIG_OMAP5_THERMAL=y ++CONFIG_DRA752_THERMAL=y ++CONFIG_WATCHDOG=y ++CONFIG_OMAP_WATCHDOG=m ++CONFIG_TWL4030_WATCHDOG=m ++CONFIG_MFD_CPCAP=y ++CONFIG_MFD_TI_AM335X_TSCADC=m ++CONFIG_MFD_TI_LMU=m ++CONFIG_MFD_PALMAS=y ++CONFIG_MFD_TPS65217=y ++CONFIG_MFD_TI_LP873X=y ++CONFIG_MFD_TI_LP87565=y ++CONFIG_MFD_TPS65218=y ++CONFIG_MFD_TPS65910=y ++CONFIG_TWL6040_CORE=y ++CONFIG_REGULATOR_CPCAP=y ++CONFIG_REGULATOR_GPIO=y ++CONFIG_REGULATOR_LM363X=m ++CONFIG_REGULATOR_LP872X=y ++CONFIG_REGULATOR_LP873X=y ++CONFIG_REGULATOR_LP87565=y ++CONFIG_REGULATOR_PALMAS=y ++CONFIG_REGULATOR_PBIAS=y ++CONFIG_REGULATOR_TI_ABB=y ++CONFIG_REGULATOR_TPS62360=m ++CONFIG_REGULATOR_TPS65023=y ++CONFIG_REGULATOR_TPS6507X=y ++CONFIG_REGULATOR_TPS65217=y ++CONFIG_REGULATOR_TPS65218=y ++CONFIG_REGULATOR_TPS65910=y ++CONFIG_REGULATOR_TWL4030=y ++CONFIG_MEDIA_SUPPORT=m ++CONFIG_MEDIA_CAMERA_SUPPORT=y ++CONFIG_MEDIA_CEC_SUPPORT=y ++CONFIG_MEDIA_CONTROLLER=y ++CONFIG_VIDEO_V4L2_SUBDEV_API=y ++CONFIG_V4L_PLATFORM_DRIVERS=y ++CONFIG_VIDEO_OMAP3=m ++CONFIG_CEC_PLATFORM_DRIVERS=y ++# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set ++CONFIG_VIDEO_TVP5150=m ++CONFIG_DRM=m ++CONFIG_DRM_OMAP=m ++CONFIG_OMAP5_DSS_HDMI=y ++CONFIG_OMAP2_DSS_SDI=y ++CONFIG_OMAP2_DSS_DSI=y ++CONFIG_DRM_OMAP_ENCODER_OPA362=m ++CONFIG_DRM_OMAP_ENCODER_TFP410=m ++CONFIG_DRM_OMAP_ENCODER_TPD12S015=m ++CONFIG_DRM_OMAP_CONNECTOR_DVI=m ++CONFIG_DRM_OMAP_CONNECTOR_HDMI=m ++CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV=m ++CONFIG_DRM_OMAP_PANEL_DPI=m ++CONFIG_DRM_OMAP_PANEL_DSI_CM=m ++CONFIG_DRM_OMAP_PANEL_SONY_ACX565AKM=m ++CONFIG_DRM_OMAP_PANEL_LGPHILIPS_LB035Q02=m ++CONFIG_DRM_OMAP_PANEL_SHARP_LS037V7DW01=m ++CONFIG_DRM_OMAP_PANEL_TPO_TD028TTEC1=m ++CONFIG_DRM_OMAP_PANEL_TPO_TD043MTEA1=m ++CONFIG_DRM_OMAP_PANEL_NEC_NL8048HL11=m ++CONFIG_DRM_TILCDC=m ++CONFIG_FB=y ++CONFIG_FIRMWARE_EDID=y ++CONFIG_FB_MODE_HELPERS=y ++CONFIG_FB_TILEBLITTING=y ++CONFIG_LCD_CLASS_DEVICE=y ++CONFIG_LCD_PLATFORM=y ++CONFIG_BACKLIGHT_CLASS_DEVICE=y ++CONFIG_BACKLIGHT_GENERIC=m ++CONFIG_BACKLIGHT_PWM=m ++CONFIG_BACKLIGHT_PANDORA=m ++CONFIG_BACKLIGHT_GPIO=m ++CONFIG_FRAMEBUFFER_CONSOLE=y ++CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y ++CONFIG_LOGO=y ++CONFIG_SOUND=m ++CONFIG_SND=m ++CONFIG_SND_OSSEMUL=y ++CONFIG_SND_MIXER_OSS=m ++CONFIG_SND_PCM_OSS=m ++CONFIG_SND_VERBOSE_PRINTK=y ++CONFIG_SND_DEBUG=y ++CONFIG_SND_USB_AUDIO=m ++CONFIG_SND_SOC=m ++CONFIG_SND_EDMA_SOC=m ++CONFIG_SND_AM33XX_SOC_EVM=m ++CONFIG_SND_OMAP_SOC=m ++CONFIG_SND_OMAP_SOC_HDMI_AUDIO=m ++CONFIG_SND_OMAP_SOC_OMAP_TWL4030=m ++CONFIG_SND_OMAP_SOC_OMAP_ABE_TWL6040=m ++CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m ++CONFIG_SND_SOC_CPCAP=m ++CONFIG_SND_SIMPLE_CARD=m ++CONFIG_SND_AUDIO_GRAPH_CARD=m ++CONFIG_HID_GENERIC=m ++CONFIG_USB_HIDDEV=y ++CONFIG_USB_KBD=m ++CONFIG_USB_MOUSE=m ++CONFIG_USB=m ++CONFIG_USB_ANNOUNCE_NEW_DEVICES=y ++CONFIG_USB_MON=m ++CONFIG_USB_XHCI_HCD=m ++CONFIG_USB_EHCI_HCD=m ++CONFIG_USB_OHCI_HCD=m ++CONFIG_USB_ACM=m ++CONFIG_USB_STORAGE=m ++CONFIG_USB_MUSB_HDRC=m ++CONFIG_USB_MUSB_TUSB6010=m ++CONFIG_USB_MUSB_OMAP2PLUS=m ++CONFIG_USB_MUSB_AM35X=m ++CONFIG_USB_MUSB_DSPS=m ++CONFIG_USB_INVENTRA_DMA=y ++CONFIG_USB_TI_CPPI41_DMA=y ++CONFIG_USB_TUSB_OMAP_DMA=y ++CONFIG_USB_DWC3=m ++CONFIG_USB_SERIAL=m ++CONFIG_USB_SERIAL_GENERIC=y ++CONFIG_USB_SERIAL_SIMPLE=m ++CONFIG_USB_SERIAL_FTDI_SIO=m ++CONFIG_USB_SERIAL_PL2303=m ++CONFIG_USB_TEST=m ++CONFIG_NOP_USB_XCEIV=m ++CONFIG_AM335X_PHY_USB=m ++CONFIG_TWL6030_USB=m ++CONFIG_USB_GADGET=m ++CONFIG_USB_GADGET_DEBUG=y ++CONFIG_USB_GADGET_DEBUG_FILES=y ++CONFIG_USB_GADGET_DEBUG_FS=y ++CONFIG_USB_CONFIGFS=m ++CONFIG_USB_CONFIGFS_SERIAL=y ++CONFIG_USB_CONFIGFS_ACM=y ++CONFIG_USB_CONFIGFS_OBEX=y ++CONFIG_USB_CONFIGFS_NCM=y ++CONFIG_USB_CONFIGFS_ECM=y ++CONFIG_USB_CONFIGFS_ECM_SUBSET=y ++CONFIG_USB_CONFIGFS_RNDIS=y ++CONFIG_USB_CONFIGFS_EEM=y ++CONFIG_USB_CONFIGFS_MASS_STORAGE=y ++CONFIG_USB_CONFIGFS_F_LB_SS=y ++CONFIG_USB_CONFIGFS_F_FS=y ++CONFIG_USB_CONFIGFS_F_UAC1=y ++CONFIG_USB_CONFIGFS_F_UAC2=y ++CONFIG_USB_CONFIGFS_F_MIDI=y ++CONFIG_USB_CONFIGFS_F_HID=y ++CONFIG_USB_ZERO=m ++CONFIG_MMC=y ++CONFIG_SDIO_UART=y ++CONFIG_MMC_SDHCI=y ++CONFIG_MMC_SDHCI_PLTFM=y ++CONFIG_MMC_OMAP=y ++CONFIG_MMC_OMAP_HS=y ++CONFIG_MMC_SDHCI_OMAP=y ++CONFIG_NEW_LEDS=y ++CONFIG_LEDS_CLASS=y ++CONFIG_LEDS_GPIO=y ++CONFIG_LEDS_USER=y ++CONFIG_RTC_CLASS=y ++CONFIG_RTC_DRV_DS1307=m ++CONFIG_RTC_DRV_M41T80=m ++CONFIG_RTC_DRV_TWL4030=m ++CONFIG_RTC_DRV_PALMAS=m ++CONFIG_RTC_DRV_OMAP=m ++CONFIG_RTC_DRV_CPCAP=m ++CONFIG_DMADEVICES=y ++# CONFIG_VIRTIO_MENU is not set ++CONFIG_OMAP_IOMMU=y ++CONFIG_OMAP_IOMMU_DEBUG=y ++CONFIG_REMOTEPROC=m ++CONFIG_OMAP_REMOTEPROC=m ++CONFIG_WKUP_M3_RPROC=m ++CONFIG_SOC_TI=y ++CONFIG_AMX3_PM=m ++CONFIG_WKUP_M3_IPC=m ++CONFIG_EXTCON_PALMAS=m ++CONFIG_EXTCON_USB_GPIO=m ++CONFIG_TI_EMIF=m ++CONFIG_TI_EMIF_SRAM=m ++CONFIG_IIO=m ++CONFIG_IIO_SW_DEVICE=m ++CONFIG_IIO_SW_TRIGGER=m ++CONFIG_IIO_ST_ACCEL_3AXIS=m ++CONFIG_CPCAP_ADC=m ++CONFIG_TI_AM335X_ADC=m ++CONFIG_BMP280=m ++CONFIG_PWM=y ++CONFIG_PWM_OMAP_DMTIMER=y ++CONFIG_PWM_TIECAP=y ++CONFIG_PWM_TIEHRPWM=y ++CONFIG_OMAP_USB2=m ++CONFIG_TI_PIPE3=y ++CONFIG_EXT2_FS=y ++CONFIG_EXT3_FS=y ++CONFIG_FANOTIFY=y ++CONFIG_QUOTA=y ++CONFIG_QFMT_V2=y ++CONFIG_MSDOS_FS=y ++CONFIG_VFAT_FS=y ++CONFIG_TMPFS=y ++CONFIG_TMPFS_POSIX_ACL=y ++CONFIG_NFS_FS=y ++CONFIG_NFS_V3_ACL=y ++CONFIG_NFS_V4=y ++CONFIG_ROOT_NFS=y ++CONFIG_NLS_CODEPAGE_437=y ++CONFIG_NLS_ISO8859_1=y ++CONFIG_SECURITY=y ++CONFIG_CRYPTO_MICHAEL_MIC=y ++CONFIG_CRYPTO_DEFLATE=y ++CONFIG_CRYPTO_LZO=y ++CONFIG_CRC_CCITT=y ++CONFIG_CRC_T10DIF=y ++CONFIG_CRC_ITU_T=y ++CONFIG_CRC7=y ++CONFIG_LIBCRC32C=y ++CONFIG_FONTS=y ++CONFIG_FONT_8x8=y ++CONFIG_FONT_8x16=y ++CONFIG_PRINTK_TIME=y ++CONFIG_DEBUG_INFO=y ++CONFIG_DEBUG_INFO_SPLIT=y ++CONFIG_DEBUG_INFO_DWARF4=y ++CONFIG_MAGIC_SYSRQ=y ++CONFIG_SCHEDSTATS=y ++CONFIG_PROVE_LOCKING=y ++# CONFIG_DEBUG_BUGVERBOSE is not set +diff --git a/board/bbb-heiafr/patches/linux/0001-keep-jtag-clock-alive-for-debugger.patch b/board/bbb-heiafr/patches/linux/0001-keep-jtag-clock-alive-for-debugger.patch +new file mode 100644 +index 0000000000..8e36d9abc5 +--- /dev/null ++++ b/board/bbb-heiafr/patches/linux/0001-keep-jtag-clock-alive-for-debugger.patch +@@ -0,0 +1,16 @@ ++This patch keeps the debugSS clock alive, it clocks the JTAG macro and enables ++access to the SoC via JTAG after the kernel booted. ++ ++Signed-off-by: Lothar Felten <lothar.felten@gmail.com> ++--- ++diff -Naur linux-orig/arch/arm/mach-omap2/omap_hwmod_33xx_data.c linux-52c4aa7cdb93d61f8008f380135beaf7b8fa6593/arch/arm/mach-omap2/omap_hwmod_33xx_data.c ++--- linux-orig/arch/arm/mach-omap2/omap_hwmod_33xx_data.c 2015-10-02 17:30:56.000000000 +0200 +++++ linux-52c4aa7cdb93d61f8008f380135beaf7b8fa6593/arch/arm/mach-omap2/omap_hwmod_33xx_data.c 2016-08-15 11:28:55.017617612 +0200 ++@@ -208,6 +208,7 @@ ++ .name = "debugss", ++ .class = &am33xx_debugss_hwmod_class, ++ .clkdm_name = "l3_aon_clkdm", +++ .flags = (HWMOD_INIT_NO_IDLE|HWMOD_INIT_NO_RESET), /* keep debugSS clock alive for JTAG */ ++ .main_clk = "trace_clk_div_ck", ++ .prcm = { ++ .omap4 = { +diff --git a/board/bbb-heiafr/patches/linux/0002_random_ssh_key_gen.patch b/board/bbb-heiafr/patches/linux/0002_random_ssh_key_gen.patch +new file mode 100644 +index 0000000000..dd61188343 +--- /dev/null ++++ b/board/bbb-heiafr/patches/linux/0002_random_ssh_key_gen.patch +@@ -0,0 +1,16 @@ ++ drivers/char/random.c | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++diff --git a/drivers/char/random.c b/drivers/char/random.c ++index c75b6cdf0053..688b05a3381b 100644 ++--- a/drivers/char/random.c +++++ b/drivers/char/random.c ++@@ -428,7 +428,7 @@ struct crng_state primary_crng = { ++ * its value (from 0->1->2). ++ */ ++ static int crng_init = 0; ++-#define crng_ready() (likely(crng_init > 1)) +++#define crng_ready() (likely(crng_init > 0)) ++ static int crng_init_cnt = 0; ++ static unsigned long crng_global_init_time = 0; ++ #define CRNG_INIT_CNT_THRESH (2*CHACHA20_KEY_SIZE) +diff --git a/board/bbb-heiafr/patches/linux/0003-bbb-heiafr-seg7-gpio.patch b/board/bbb-heiafr/patches/linux/0003-bbb-heiafr-seg7-gpio.patch +new file mode 100644 +index 0000000000..d5e4d6393c +--- /dev/null ++++ b/board/bbb-heiafr/patches/linux/0003-bbb-heiafr-seg7-gpio.patch +@@ -0,0 +1,37 @@ ++ arch/arm/boot/dts/am335x-bone-common.dtsi | 16 ++++++++++++++++ ++ 1 file changed, 16 insertions(+) ++ ++diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi ++index 73b514dddf65..be3fe0006c7a 100644 ++--- a/arch/arm/boot/dts/am335x-bone-common.dtsi +++++ b/arch/arm/boot/dts/am335x-bone-common.dtsi ++@@ -55,6 +55,20 @@ ++ linux,default-trigger = "mmc1"; ++ default-state = "off"; ++ }; +++ +++ dig1 { +++ label = "beaglebone:seg7:dig1"; +++ gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>; +++ linux,default-trigger = "dig1"; +++ default-state = "off"; +++ }; +++ +++ dig2 { +++ label = "beaglebone:seg7:dig2"; +++ gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>; +++ linux,default-trigger = "dig2"; +++ default-state = "off"; +++ }; ++ }; ++ ++ vmmcsd_fixed: fixedregulator0 { ++@@ -75,6 +89,8 @@ ++ AM33XX_IOPAD(0x858, PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a6.gpio1_22 */ ++ AM33XX_IOPAD(0x85c, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a7.gpio1_23 */ ++ AM33XX_IOPAD(0x860, PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a8.gpio1_24 */ +++ AM33XX_IOPAD(0x890, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpio2.2 */ +++ AM33XX_IOPAD(0x894, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpio2.3 */ ++ >; ++ }; ++ +diff --git a/board/bbb-heiafr/patches/uboot/0001-board-seg7-gpio.patch b/board/bbb-heiafr/patches/uboot/0001-board-seg7-gpio.patch +new file mode 100644 +index 0000000000..d498df07e3 +--- /dev/null ++++ b/board/bbb-heiafr/patches/uboot/0001-board-seg7-gpio.patch +@@ -0,0 +1,28 @@ ++ board/ti/am335x/board.c | 7 +++++++ ++ 1 file changed, 7 insertions(+) ++ ++diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c ++index d67f94ad47..1490a1686a 100644 ++--- a/board/ti/am335x/board.c +++++ b/board/ti/am335x/board.c ++@@ -52,6 +52,10 @@ DECLARE_GLOBAL_DATA_PTR; ++ #define GPIO_ETH0_MODE GPIO_TO_PIN(0, 11) ++ #define GPIO_ETH1_MODE GPIO_TO_PIN(1, 26) ++ +++#define GPIO_SEG7_DIG1_MODE GPIO_TO_PIN(2, 2) +++#define GPIO_SEG7_DIG2_MODE GPIO_TO_PIN(2, 3) +++ +++ ++ static struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE; ++ ++ #define GPIO0_RISINGDETECT (AM33XX_GPIO0_BASE + OMAP_GPIO_RISINGDETECT) ++@@ -708,6 +712,9 @@ int board_init(void) ++ hw_watchdog_init(); ++ #endif ++ +++ REQUEST_AND_CLR_GPIO(GPIO_SEG7_DIG1_MODE); +++ REQUEST_AND_CLR_GPIO(GPIO_SEG7_DIG2_MODE); +++ ++ gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100; ++ #if defined(CONFIG_NOR) || defined(CONFIG_NAND) ++ gpmc_init(); +diff --git a/configs/bbb-heiafr_defconfig b/configs/bbb-heiafr_defconfig +new file mode 100644 +index 0000000000..7500799cdd +--- /dev/null ++++ b/configs/bbb-heiafr_defconfig +@@ -0,0 +1,81 @@ ++BR2_arm=y ++BR2_cortex_a8=y ++BR2_GLOBAL_PATCH_DIR="board/bbb-heiafr/patches" ++BR2_TOOLCHAIN_EXTERNAL=y ++BR2_PACKAGE_HOST_GDB=y ++BR2_GDB_VERSION_8_2=y ++BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" ++BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" ++BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/bbb-heiafr/genimage.cfg" ++BR2_LINUX_KERNEL=y ++BR2_LINUX_KERNEL_CUSTOM_VERSION=y ++BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.21" ++BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y ++BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/bbb-heiafr/linux_defconfig" ++BR2_LINUX_KERNEL_DTS_SUPPORT=y ++BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-boneblack" ++BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y ++BR2_PACKAGE_LINUX_TOOLS_CPUPOWER=y ++BR2_PACKAGE_LINUX_TOOLS_PERF=y ++BR2_PACKAGE_LINUX_TOOLS_PERF_TUI=y ++BR2_PACKAGE_LINUX_TOOLS_TMON=y ++BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y ++BR2_PACKAGE_GZIP=y ++BR2_PACKAGE_ZIP=y ++BR2_PACKAGE_GDB=y ++BR2_PACKAGE_GDB_SERVER=y ++BR2_PACKAGE_GDB_DEBUGGER=y ++BR2_PACKAGE_LSOF=y ++BR2_PACKAGE_LTRACE=y ++BR2_PACKAGE_STRACE=y ++BR2_PACKAGE_DOSFSTOOLS=y ++BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y ++BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y ++BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y ++BR2_PACKAGE_E2FSPROGS_DEBUGFS=y ++BR2_PACKAGE_E2FSPROGS_E2IMAGE=y ++BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y ++BR2_PACKAGE_E2TOOLS=y ++BR2_PACKAGE_MMC_UTILS=y ++BR2_PACKAGE_SSHFS=y ++BR2_PACKAGE_I2C_TOOLS=y ++BR2_PACKAGE_MEMTOOL=y ++BR2_PACKAGE_PARTED=y ++BR2_PACKAGE_SPI_TOOLS=y ++BR2_PACKAGE_UBOOT_TOOLS=y ++BR2_PACKAGE_MICROPYTHON=y ++BR2_PACKAGE_MICROPYTHON_LIB=y ++BR2_PACKAGE_LIBZIP=y ++BR2_PACKAGE_CJSON=y ++BR2_PACKAGE_JSON_C=y ++BR2_PACKAGE_JSON_FOR_MODERN_CPP=y ++BR2_PACKAGE_LIBYAML=y ++BR2_PACKAGE_YAML_CPP=y ++BR2_PACKAGE_EVENTLOG=y ++BR2_PACKAGE_IFUPDOWN=y ++BR2_PACKAGE_IPUTILS=y ++BR2_PACKAGE_RPCBIND=y ++BR2_PACKAGE_WHICH=y ++BR2_PACKAGE_HTOP=y ++BR2_PACKAGE_PROCPS_NG=y ++BR2_PACKAGE_UTIL_LINUX_FSCK=y ++BR2_PACKAGE_UTIL_LINUX_KILL=y ++BR2_PACKAGE_VIM=y ++BR2_TARGET_ROOTFS_EXT2=y ++BR2_TARGET_ROOTFS_EXT2_4=y ++BR2_TARGET_ROOTFS_EXT2_SIZE="120M" ++BR2_TARGET_UBOOT=y ++BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y ++BR2_TARGET_UBOOT_CUSTOM_VERSION=y ++BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.01" ++BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am335x_boneblack" ++BR2_TARGET_UBOOT_NEEDS_DTC=y ++# BR2_TARGET_UBOOT_FORMAT_BIN is not set ++BR2_TARGET_UBOOT_FORMAT_IMG=y ++BR2_TARGET_UBOOT_SPL=y ++BR2_TARGET_UBOOT_SPL_NAME="MLO" ++BR2_TARGET_UBOOT_BOOT_SCRIPT=y ++BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/bbb-heiafr/boot.cmd" ++BR2_PACKAGE_HOST_DOSFSTOOLS=y ++BR2_PACKAGE_HOST_GENIMAGE=y ++BR2_PACKAGE_HOST_MTOOLS=y