mirror of
https://github.com/MiyooCFW/buildroot.git
synced 2025-09-27 22:24:19 +03:00
Merge from bittboy/buildroot@db180c0
This commit is contained in:
3
board/lego/ev3/busybox.fragment
Normal file
3
board/lego/ev3/busybox.fragment
Normal file
@@ -0,0 +1,3 @@
|
||||
CONFIG_BEEP=y
|
||||
CONFIG_FEATURE_BEEP_FREQ=440
|
||||
CONFIG_FEATURE_BEEP_LENGTH_MS=250
|
||||
65
board/lego/ev3/genimage.cfg
Normal file
65
board/lego/ev3/genimage.cfg
Normal 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"
|
||||
}
|
||||
}
|
||||
68
board/lego/ev3/linux.fragment
Normal file
68
board/lego/ev3/linux.fragment
Normal 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
14
board/lego/ev3/post-image.sh
Executable 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
99
board/lego/ev3/readme.txt
Normal 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
|
||||
Reference in New Issue
Block a user