This commit is contained in:
TriForceX
2019-09-25 20:51:37 -03:00
commit 6203ff3e7c
11215 changed files with 428258 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
CONFIG_BEEP=y
CONFIG_FEATURE_BEEP_FREQ=440
CONFIG_FEATURE_BEEP_LENGTH_MS=250

View File

@@ -0,0 +1,65 @@
# LEGO MINDSTORMS EV3 can boot from a 16MB flash or from a microSD card.
# The U-Boot bootloader from the flash is always used, even when booting
# from a microSD card.
# The Flash image
flash nor-16M-256 {
pebsize = 4096
numpebs = 4096
minimum-io-unit-size = 256
}
image flash.bin {
flash {
}
flashtype = "nor-16M-256"
partition uboot {
image = "u-boot.bin"
size = 256K
}
partition dtb {
image = "da850-lego-ev3.dtb"
size = 64K
offset = 0x40000
}
partition uimage {
image = "uImage"
size = 4M
offset = 0x50000
}
partition rootfs {
image = "rootfs.squashfs"
size = 10M
offset = 0x450000
}
}
# The SD card image
image boot.vfat {
vfat {
file uImage {
image = "uImage"
}
file da850-lego-ev3.dtb {
image = "da850-lego-ev3.dtb"
}
}
size = 16M
}
image sdcard.img {
hdimage {
}
partition boot {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
offset = 4M
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext2"
}
}

View File

@@ -0,0 +1,68 @@
CONFIG_ARM_APPENDED_DTB=n
CONFIG_ARCH_DAVINCI_DM644x=n
CONFIG_ARCH_DAVINCI_DM355=n
CONFIG_ARCH_DAVINCI_DM646x=n
CONFIG_ARCH_DAVINCI_DA830=n
CONFIG_ARCH_DAVINCI_DM365=n
CONFIG_MACH_SFFSDR=n
CONFIG_MACH_NEUROS_OSD2=n
CONFIG_MACH_DM355_LEOPARD=n
CONFIG_MACH_MITYOMAPL138=n
CONFIG_MACH_OMAPL138_HAWKBOARD=n
CONFIG_MACH_DAVINCI_DA850_EVM=n
CONFIG_ATA=n
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
CONFIG_MTD_M25P80=y
CONFIG_MTD_SPI_NOR=y
CONFIG_MTD_UBI=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=1
CONFIG_BLK_DEV_RAM_SIZE=32768
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_PWM_BEEPER=y
CONFIG_SPI_DAVINCI=y
CONFIG_PINCTRL_DA850_PUPD=y
CONFIG_V4L_PLATFORM_DRIVERS=n
CONFIG_SOUND=n
CONFIG_SND=n
CONFIG_SND_SOC=n
CONFIG_SND_EDMA_SOC=n
CONFIG_SND_DAVINCI_SOC_MCASP=n
CONFIG_SND_SOC_TLV320AIC3X=n
CONFIG_SND_SIMPLE_CARD=n
CONFIG_DAVINCI_WATCHDOG=y
CONFIG_USB=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_DAVINCI=y
CONFIG_USB_MUSB_HDRC=y
CONFIG_USB_MUSB_GADGET=y
CONFIG_USB_MUSB_DA8XX=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_USB_GADGET=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_TRIGGER_MTD=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_CPU=y
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
CONFIG_RTC_DRV_OMAP=y
CONFIG_IIO=y
CONFIG_TI_ADS7950=y
CONFIG_PWM_TIECAP=y
CONFIG_PWM_TIEHRPWM=y
CONFIG_SQUASHFS=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
CONFIG_DRM=y
CONFIG_DRM_TILCDC=n
CONFIG_DRM_DUMB_VGA_DAC=n
CONFIG_DRM_TINYDRM=y
CONFIG_TINYDRM_ST7586=y
CONFIG_FB_DA8XX=n
CONFIG_COMMON_CLK_PWM=y
CONFIG_BT=y
CONFIG_BT_HS=n
CONFIG_BT_LE=n
CONFIG_RFKILL=y

14
board/lego/ev3/post-image.sh Executable file
View File

@@ -0,0 +1,14 @@
#!/bin/sh
BOARD_DIR="$(dirname $0)"
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"

99
board/lego/ev3/readme.txt Normal file
View File

@@ -0,0 +1,99 @@
Lego Mindstorms EV3
Intro
=====
This is the buildroot basic board support for the Lego Mindstorms EV3
programmable brick.
The Lego Mindstorms EV3 brick comprises a Texas Instruments AM1808 SoC, with
an ARM 926EJ-S main processor running at 300 MHz.
See:
- https://en.wikipedia.org/wiki/Lego_Mindstorms_EV3
- http://www.lego.com/en-us/mindstorms/products/ev3/31313-mindstorms-ev3/
- http://www.ti.com/product/am1808
How it works
============
Boot process :
--------------
The EV3 boots from an EEPROM. This loads whatever is on the built-in 16MB flash
(usually U-Boot) and runs it. The U-Boot from the official LEGO firmware and
mainline U-Boot will attempt to boot a Linux kernel from the external µSD card.
It will try to load a uImage (and optional boot.scr) from the first µSD card
partition, which must be formatted with a FAT filesystem. If no µSD is found or
it does not contain a uImage file, then the EV3 will boot the uImage from the
built-in 16MB flash.
How to build it
===============
Configure Buildroot
-------------------
The lego_ev3_defconfig configuration provides basic support to boot on the Lego
Mindstorms EV3 programmable brick:
$ make lego_ev3_defconfig
Build everything
----------------
Note: you will need to have access to the network, since Buildroot will
download the packages' sources.
$ make
Result of the build
-------------------
After building, you should obtain this tree:
output/images/
├── boot.vfat
├── flash.bin
├── rootfs.ext2
├── rootfs.ext3 -> rootfs.ext2
├── rootfs.squashfs
├── sdcard.img
├── u-boot.bin
├── uImage -> uImage.da850-lego-ev3
└── uImage.da850-lego-ev3
Installation
============
You can use either flash.bin or the sdcard.img. To load flash.bin, use the
official Lego Mindstorms EV3 programming software firmware update tool to load
the image. To use sdcard.img, use a disk writing tool such as Etcher or dd to
write the image to the µSD card.
NOTE: The sdcard.img created by lego_ev3_defconfig won't boot if the official
LEGO firmware is installed on the EV3 (it has an old version of U-Boot that
doesn't know about device tree). You must either set the kernel configuration
option to append the device tree to the kernel or you can create a boot.scr
that chainloads a newer U-Boot or you can install a newer U-Boot in the flash
memory (just flashing u-boot.bin is enough).
Finish
======
To have a serial console, you will need a proper USB to Lego serial port
adapter plugged into the EV3 sensors port 1.
See:
- http://botbench.com/blog/2013/08/15/ev3-creating-console-cable/
- http://botbench.com/blog/2013/08/05/mindsensors-ev3-usb-console-adapter/
The serial port config to use is 115200/8-N-1.
Bluetooth
=========
To enable Bluetooth:
# modprobe hci_uart
# /usr/libexec/bluetooth/bluetoothd &
# bluetoothctl
[bluetooth]# power on